signed

在默認情況下聲明的整型變數都是有符號的類型(char有點特別),如果需聲明無符號類型的話就需要在類型前加上unsigned。無符號版本和有符號版本的區別就是無符號類型能保存2倍於有符號類型的正整數數據,如16位系統中一個int能存儲的數據的範圍為-32768~32767,而unsigned能存儲的數據範圍則是0~65535。由於在計算機中,整數是以補碼形式存放的。根據最高位的不同,如果是1,有符號數的話就是負數;如果是無符號數,則都解釋為正數。

基本介紹

  • 中文名:有符號
  • 外文名:signed
整型的每一種都有無符號(unsigned)和有符號(signed)兩種類型,在默認情況下聲明的整型變數都是有符號的類型(char有點特別),如果需聲明無符號類型的話就需要在類型前加上unsigned。無符號版本和有符號版本的區別就是有符號類型需要使用一個bit來表示數字的正負,比如16位系統中一個int能存儲的數據的範圍為–32768 ~ 32767(16位2進制的最高位作為符號位‘1’為負‘0’為正),而unsigned能存儲的數據範圍則是0~65535(這個最高位不用做符號位,所以是2的16次方,一共65536)。由於在計算機中,整數是以補碼形式存放的。根據最高位的不同,如果是1,有符號數的話就是負數;如果是無符號數,則都解釋為正數。同時在相同位數的情況下,所能表達的整數範圍變大。另外,unsigned若省略後一個關鍵字,大多數編譯器都會認為是unsigned int

相關詞條

熱門詞條

聯絡我們