トップページ > コンテンツ > プログラミング入門 > Java入門 > Javaの基本まとめ > 型変換 > intとbyte

Javaではbyteからintへの変換を行うには、&0xffを使う。
ちなみに0xが頭につくと16進数,0が頭につく場合は8進数として扱われる。

これはどういう意味かというと、0xffとANDを取ることで、byte値の下位ビットだけ1にするという意味である。
int型は32ビットであるので、仮にbyte型に格納されているものが10101010であったとすると、
1111 1111 1111 1111 1111 1111 1010 1010と
0000 0000 0000 0000 0000 0000 1111 1111(0xff)でANDを取ることになるので、最終的には
0000 0000 0000 0000 0000 0000 1010 1010となる。
符号がなくなるわけで、C/C++のunsignedと似た感じになるのではないかと。

intからbyteへの変換はキャストを行う。
int x;
byte y = (byte)x;
最終更新:2011年04月02日 12:40