Demotion of Integers (整数の下位変換)

ANSI 3.2.1.2 値を表すことができない場合に、整数を短い符号付き整数に変換したか、符号なし整数を同じ長さの符号付き整数に変換したときの結果

long 整数が short にキャストされるか、 shortchar にキャストされるときには、下位バイトが保持されます。

たとえば、次のコード行、

short x = (short)0x12345678L;

では、値 0x5678 が x に代入されます。また、次のコード行、

char y = (char)0x1234;

では、値 0x34 が y に代入されます。

signed 変数が unsigned に変換されるときと、その逆で、ビット パターンは変わりません。 たとえば、-2 (0xFE) を unsigned 値にキャストすると、254 (これも 0xFE) になります。

関連項目

整数