unsigned - int資料的取值範圍

來源:趣味經驗館 3.03W

unsigned int的意思是無符號基本整型,當字內節容數為2時,取值範圍為0到6535,當位元組數為4時,取值範圍為0到2的32次方減1。int的意思是基本整型,當位元組數為2時 取值範圍為-32768到32767,當位元組數為4時,取值範圍為負的2的31次方,到2的31次方減1。

unsigned int資料的取值範圍

整型的每一種都有無符號(unsigned)和有符號(signed)兩種型別(float和double總是帶符號的),在預設情況下宣告的整型變數都是有符號的型別(char有點特別),如果需宣告無符號型別的話就需要在型別前加上unsigned。變數型別的每一種都有無符號(unsigned)和有符號(signed)兩種型別(float和double總是帶符號的),在預設情況下宣告的整型變數都是有符號的型別(char有點特別),如果需宣告無符號型別的話就需要在型別前加上unsigned。無符號版本和有符號版本的區別就是無符號型別能儲存2倍於有符號型別的正整數資料。

16位系統中一個int能儲存的資料的範圍為-32768~32767,而unsigned能儲存的資料範圍則是0~65535。由於在計算機中,整數是以補碼形式存放的。根據最高位的不同,如果是1,有符號數的話就是負數;如果是無符號數,則都解釋為正數。另外,unsigned若省略後一個關鍵字,大多數編譯器都會認為是unsigned int。

熱門標籤