天天看點

byte,short,int和long有符号整數

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開頭”)