java - 如何在Java中使-2147483648成为正数?
问题描述
我的问题:如何在 Java 中使 -2147483648 成为正数?
我的想法:有很多方法可以使负数变为正数:
但是,对于边缘情况,Java 中 int 的最小值为 -2147483648,所有这些方法都不起作用。
我应该怎么办?非常感谢!
解决方案
如果你关心它保持一个int
: 你不能。该int
原语仅适合从 -2147483648 到并包括 2147483647 的值。
但是,如果您只想将 -2147483648 转换为整数 2147483648,请使用long
:
public class Test
{
public static void main(String[] args)
{
int v = -2147483648;
long r = -(long)v;
System.out.print(r);
}
}
并完成:2147483648
。
当然,也可以通读https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html来熟悉所有原始数据类型的局限性。如果这还不够,并且您需要任意长度的整数,BigInteger是可用的。
推荐阅读
- r - R中按小时计算的时间戳数据中的平均班级计数
- android - 搜索视图无法在 Fragment 中以编程方式展开
- angular - 如何在不考虑日期中的年份的情况下对日期数组进行排序
- cordova - plugin_not_installed,我如何检测是哪个插件?
- laravel - 在同一页面上提交表单后如何输出消息?
- rust - 使用 serde,是否可以反序列化为实现类型的结构?
- python - 熊猫:填充数据框列中的缺失数据
- c - 在 C 中,我不确定指针的输出是如何更新的?
- sql - setval - 在错误的位置发现 FROM 关键字
- python - SQL 作业失败,没有任何解释