0
A
回答
13
那是因为(int) 2147483648l
是-2147483648
。您正在将long
转换为int
,并且它出界了。
0
铸造问题。由于缩小导致数据丢失。你正在转换长整型。
查看更多about conversion。
0
0
使用“long”来代替“int”。 你可以使用它没有强制类型转换也
0
参照实例可能是有用的:
public class Example1
{
public static void main(String args[])
{
int b = (int)2147483648l;
System.out.println("Value of b: "+ b);
System.out.println("Output1: "+b % 10);
long a = 2147483648l;
System.out.println("Value of a: "+ a);
System.out.println("Output2: "+ a % 10);
}
}
输出
Value of b: -2147483648
Output1: -8
Value of a: 2147483648
Output2: 8
0
你得到一个负数,因为你转换到long
一个int
。在你的情况下可能的解决方法是简单地利用这个事实,即任何十进制x mod 10都只是最小小数位(在那个位置)的数字。例如,156模10是6,因为156除以10是15+(6/10)。所以,你可以做这样的事情
这只要你想要的是number % 10
相关问题
- 1. C#重载运算符给出了不同的结果
- 2. like运算符给出零结果
- 3. 简单的运动计算给出了错误的结果
- 4. 比较字符串与!=运算符给出不同的结果?
- 5. 为什么在php中对数字(〜运算符)的否定给出了这样奇怪的结果?
- 6. 为什么我的三元运算符给出了不同的结果?
- 7. 在Scala中为+运算符添加空格给出了不同的结果?
- 8. 是否定义了添加逻辑运算结果的行为
- 9. 模运算符没有给出正确的结果
- 10. DateTime运算符给出奇怪的结果
- 11. javascript ||运算符根据命令给出不同的结果
- 12. Python模运算符给出的结果不好
- 13. %运算符在快速ios中给出奇怪的结果
- 14. Trapz给出了否定的结果:为什么?
- 15. PHP OR运算符给出错误结果?
- 16. LINQ OR运算符没有给出结果
- 17. 算术运算给出不正确的结果
- 18. 简单的SQL数学运算给出了不正确的结果
- 19. 明确的数学运算在opencv中给出了不正确的结果
- 20. 否定空条件运算符返回意外结果为空
- 21. Dijkstra的算法实现给出了不正确的结果
- 22. 为结构指针运算给出奇怪结果
- 23. 模运算符结果的符号?
- 24. 算法构建DeBruijn图给出了错误的结果
- 25. 计算时钟周期给出了截然不同的结果
- 26. 计算长度给出了奇怪的结果
- 27. 使用SIZEOF运算符计算出的结果不同吗?
- 28. Php.ini给出了不同的结果
- 29. ifstream :: seekg给出了错误的结果
- 30. jquery hasClass给出了错误的结果
真的我铸造适用于任何整数
number
? – dhblah'(int)'是一个“to int”铸造操作符。 –
是的,当然,非常感谢。 – dhblah