介紹
計算機里的數是用二進制表示的,最左邊的這一位一般用來表示這個數是正數還是負數,這樣的話這個數就是有符號整數。如果最左邊這一位不用來表示正負,而是和後面的連在一起表示整數,那么就不能區分這個數是正還是負,就只能是正數,這就是無符號整數。
如,一個位元組是8位, 有符號的數,因為第一個位要用來表示符號,那么就只剩下7個位置可以用來表示數了0000000~1111111因為有符號,所以還可以表示範圍:-1111111~0000000。
轉換
(1)無符號整數轉換為有符號整數 :
看無符號數的最高位是否為1,如果不為1(為0),則有符號數就直接等於無符號數;如果無符號數的最高位為1,則將無符號數取補碼,得到的數就是有符號數。
(2)有符號整數轉換為無符號整數:
看有符號數的最高位是否為1,如果不為1(為0),則無符號數就直接等於有符號數;如果有符號數的最高位為1,則將有符號數取補碼,得到的數就是無符號數。
總結:有符號數與無符號數之間的轉換,都要看要轉換的數的最高位是否為1,如果不為1,則轉換結果就是要轉換的數的本身;如果為1,則轉換結果就是轉換的數(看作是負數)的補碼。