これは、「プリミティブを狭くすると上位ビットが切り捨てられる」とはどういう意味ですか
質問する
393 次
2 に答える
4
たとえば、longをintにキャストすると、longの上位ビットが破棄されます。
Short -> Byte
0x00FF -> 0xFF
256 -> -128
于 2011-07-21T14:46:52.797 に答える
0
これが短く、慎重に選ばれた答えです。
public class Narrow {
public static void main(String[] args) {
int i;
short s;
i = 32768;
s = (short) i;
System.out.println("int of " + i + " becomes a short of " + s);
}
}
iは2^15、またはshortのMAX_VALUEより1大きいです。
Javaが返信しますint of 32768 becomes a short of -32768
于 2011-07-21T14:59:50.770 に答える