1)byte,short,int,long都是有符号整數,與有符号整數對應的是無符号整數;
兩者的差別在于把二進制轉換為十進制整數的方式不一樣。
A)有符号整數把二進制數的首位作為符号位,
當首位是0時,對應十進制的正整數;當首位是1時,對應十進制的負整數。
例程:1個位元組的byte的二進制數,它對應的十進制整數的取值範圍是-128~127
10000000 = -[(2的7次方) * 1]=-128
01111111=0 + (2的6次方) + (2的5次方) + (2的4次方) + (2的3次方) + (2的2次方) + (2的1次方) + (2的0次方)
=64+32+ 16 + 8 + 4 + 2 + 1 = 127
B)無符号整數把二進制數的所有位轉換為正整數。
例程:1位元組的二進制數,它對應的十進制整數的取值範圍是0~255.
11111111 = 128 + 127 = 256
00000000 = 0
2)八進制,十六進制的表示
Java語言允許把八進制數(以“0”開頭),十六進制數(以“0x開頭”)