java 中 long 到 int 的转换不起作用
long to int conversion in java not working
我正在处理 java 中的大数问题。
int temp =0;
long last = 218212982912L;
temp = (int) last%10;
last = last/10;
对于上面的代码行,我得到了
temp = -4
在第一次迭代中。我不确定是什么问题。我已经尝试了很多在线可用的解决方案。
在 last%10
两边加上括号
在取模运算之前应用到 int 的转换
你能得到的最后一个正数是 2,147,483,647
,当你明确地将一个较大的数字转换为 int 时,你会得到不愉快的结果,但如果你加上额外的括号,比如 (int) (someLong % 10)
,首先是长操作得到执行(这会导致更小的 long 值适合 int 内存space)然后你可以放心地将它转换为 int
我正在处理 java 中的大数问题。
int temp =0;
long last = 218212982912L;
temp = (int) last%10;
last = last/10;
对于上面的代码行,我得到了
temp = -4
在第一次迭代中。我不确定是什么问题。我已经尝试了很多在线可用的解决方案。
在 last%10
在取模运算之前应用到 int 的转换
你能得到的最后一个正数是 2,147,483,647
,当你明确地将一个较大的数字转换为 int 时,你会得到不愉快的结果,但如果你加上额外的括号,比如 (int) (someLong % 10)
,首先是长操作得到执行(这会导致更小的 long 值适合 int 内存space)然后你可以放心地将它转换为 int