C++中的基本數據類型


 

  C++中定義了一組表示整數、浮點數、單個字符和布爾值的算術類型(arithmetic type)。

  另外還定義了一種叫做void的特殊類型。void類型沒有對應的值,僅用在有限的一些情況下,通常用作無返回值函數的返回類型。

 

  算術類型的存儲空間依機器而定。這里的存儲空間是指用來表示該類型的二進制位(bit)數。

  C++標准規定了每個算術類型的最小存儲空間,但它並不阻止編譯器使用更大的存儲空間。

  事實上,對於int類型,幾乎所有的編譯器使用的存儲空間都比所要求的大。

  因為位數不同,這些類型所能表示的最大(最小)值也因機器的不同而有所不同。

 

C++算術類型的最小存儲空間

  類型+含義+最小存儲空間如下:

  bool 布爾型

  char 字符型 8位

  wchar_t 寬字符型 16位

  short 短整型 16位

  int 整形 16位

  long 長整形 32位

  float 單精度浮點型 6為有效數字

  double 雙精度浮點型 10位有效數字

  long double 擴展精度浮點型 10位有效數字

 

整形

  表示整數、字符和布爾值的算術類型合稱為整形(integral type)。

  通常將8位的塊作為一個字節,32位或4個字節作為一個字(word.

  一般的,short類型為半個機器字(word)長,int類型為一個機器字長,而long類型為一個或兩個機器字長(在32位機器中int類型和long類型通常字長是相同的)。

  bool類型表示true和false。可以將算術類型的任何值賦給bool對象。

  0值算術類型代表false,其他任何非零的值都代表true

符號

  除bool類型外,整形可以是帶符號的(signed)也可以是無符號的(unsigned)。

  無符號類型只能表示大於等於0的數,而帶符號整形可以表示正數和負數。

  整形int,short和long都默認為帶符號型

  要獲得無符號型則必須指定該類型為unsigned。比如unsigned long。

  unsigned int 可以簡寫為unsigned。

 

浮點型

  類型float、double和long double分別表示單精度浮點數、雙精度浮點數和擴展精度浮點數。

  一般float用一個字(32位)來表示,double類型用兩個字(64位來表示),long double類型用三個或四個字(96或128位)來表示。

  float型只能保證6位有效數字,而double型至少可以保證10位有效數字。

 

參考資料

  《C++ Primer中文第四版》


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM