程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> NO.3 C++中的signed和unsigned

NO.3 C++中的signed和unsigned

編輯:C++入門知識

C++內置了4種算術類型,分別為整數,浮點數,單個字符和布爾值。整數,浮點數,單個字符都有帶符號和無符號兩種類型,布爾值沒有。整數和浮點數的帶符號和無符號類型很好理解,比如一般書上都有的int 范圍 -32700——32700:unsigned int 范圍 0——65500。(整數,浮點數默認都是signed。即int, float其實就是signed int 和 signed float)

 


下面到正題了

先從《c++ primer》上引一段話

 


”和其他整型不同,char 有三種不同的類型:普通的char ,unsigned char 和signed char。雖然char 有三種不同的類型,但只有兩種表示方式。可以使用unsigned char 或者signed char 來表示char 類型。使用那種char 表示方式由編譯器決定。“

 


char 是字符類型。ASCII碼一共需要0到127,共128種,signed char 的范圍是-127-127或者是-128-127,unsigned char 的范圍是0-255這樣,signed char 和unsigned char都能.夠完成他們本身的任務。char 是實現相關的,可以在gcc編譯時加上選項-funsigned-char使char默認為unsigned char 。

字符型有三種類型但是只有兩種表示方式,這裡要明白,char 和signed char 是不同的類型,雖然在很多時候signed char 是char 的默認選項。

c++中把負值賦給unsigned類型 是合法的,得到的是負值對該類型的取值個數求模侯的值。把-1賦給unsigned char ,結果是255。

 

 

那你會說unsigned char 有什麼用呢?c++沒有內置的byte 數據結構,一般的用


 

typedef unsigned char byte 

 typedef unsigned char byte

來自定義。
在申請內存,進行位操作的時候使用相當方便。

 


平時我們使用的時候沒有特別要求,只要用char 就可以了。覺得相對底層一些的操作會用到unsigned char 。


 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved