C++基本內置類型

C++,對於基本知識還不太清楚,找了本書看看,作以下筆記,以備複習之用。

-----------------------------------------------------------------------------------

類型                     最小存儲空間

bool                        ----

char                       8  byte

wchar_t               16  byte

short                    16 byte

int                        16 byte

long                      32 byte

float                      6位有效數字

double                  10位有效數字

long double          10位有效數字

-----------------------------------------------------------------------------------

1.布爾型說明:

  它表示真值true和false,可以將算術類型的任何值賦給bool對象,0爲false,非0爲true

2.整型說明:

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

3.帶符號和無符號類型:

  signed可以表示正數和負數(包括0)

  unsigned可以表示大於或等於0的數

  整型int,short,long都默認爲帶符號型。

4.整型的賦值:

  對於unsigned類型來說,編譯器必須調整越界值使其滿足要求,編譯器會將該值對unsigned類型的可能取值數目求模,然後取其值。

  如unsigned char,其值取值範圍從[0-255],如果賦給一個超過這個範圍的值,那麼編譯器將會取該值對256求模,然後賦值。

  對於unsigned類型,如果賦值一個負數,其結果是該負數對該類型的最大值求模後的值。如將-1賦值給unsigned char,則結果爲255(255是-1對256求模後的值)

5.浮點型:

  類型float,double,long double分別表示單精度浮點數,雙精度浮點數,擴展精度浮點數,一般float用一個字(32byte)表示,double用兩個字(64byte)表示,long double用三個或四個字(96或128byte)表示。

 特別說明:

 使用double類型基本上不會有錯,在float類型中隱式的精度損失是不能忽視的,而雙精度計算的代價對於單精度可以忽略。實際上,有些機器上,double類型比float類型計算快的多。而long double類型提供的精度通常沒有必要,而且還需要承擔額外的運算代價。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章