long 是一个 64 位有符号二进制补码整数。Long 是 128 位有符号二进制补码整数吗?我只是想在继续之前确认这一点。
Long l = 6;
int i = 4;
Integer ii = 2;
l += (l/i) * ii;
我想知道我需要在哪里进行类型转换才能返回 3 而不是 2。
我尝试了以下方法:
l += (long) (((double) l/i) * ii);
当我使用 进行类型转换l/i
时double
,我会返回1
,而不是1.5
?
假设我要对 Long 进行类型转换,这是 Long 的最大数字,使用 (long),因为 long 是一个 64 位有符号二进制补码整数,会发生什么。