2

これは、「プリミティブを狭くすると上位ビットが切り捨てられる」とはどういう意味ですか

4

2 に答える 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 に答える