變數和基本內建型別

2021-08-19 15:30:44 字數 2028 閱讀 6910

2.1基本內建型別

2.11.算數型別

分類:整型(integral type)浮點型

c++:算數型別

型別含義

最小尺寸

bool

布林型別

未定義char

字元8位

wchar_t

寬字元16位

char16_t

unicode字元

16位char32_t

unicode字元

32位short

短整型16位

int整型

16位long

長整型32位

long long(c++11)

長整型64位

float

單精度浮點數

6位有效數字

double

雙精度浮點數

10位有效數字

long double

擴充套件精度浮點數

10位有效數字

注:1.bool型值為真或假。

2. 基本的字元型別為char,乙個char空間可以存放機器基本字符集中任意字元對應的數字值,故其大小應該與乙個機器位元組一樣。

3.其他字元型別用於擴充套件字符集。

4.除字元與布林型別外,其他整型用於表示不同尺寸的整數.

5.大多數計算機以2的整數次冪個位元來作為塊來處理記憶體,可定址的最小記憶體塊稱為"位元組(byte)",儲存的基本單元稱為"字(word)",字通常由幾個位元組組成。大多數機器的位元組由8位元構成。字則由32或者64位元構成,也就是4位元組或8位元組。

6.大多數計算機將記憶體中的每個位元組於乙個數字(被稱為位址·)關聯起來。

7.一般來說,float以1個字(32位元)來表示,double以2字表示,long double用三或四個字表示。且float與double分別有7和16個有效位。

帶符號型別與無符號型別

除去布林型和擴充套件的字元型之外,其他整型可以劃分為帶符號的(signed)和無符號的(unsigned),帶符號的可以表示正負0,無符號只能表示大於等於0.

在其前新增unsigned即可,例如unsigned int。

字元型分為三種,char、signed char、unsigned char。char 與signed char不一樣,儘管表示形式只有兩種。

無符號型別中的所有位元用來儲存值。

8位元的signed char理論為-127 到127,大多數計算機為-128至127.

注: 1.當明確知曉數值不可能為負時,選用無符號型別.

2.使用int執行整數計算,如果數值超出則用long long。

3.算術表示式中不要使用char與bool。

4. 浮點數一般使用double。

5.int型別比較特殊,具體的位元組數同機器字長和編譯器有關。如果要保證移植性,盡量用__int16 __int32 __int64吧

__int16、__int32這種資料型別在所有平台下都分配相同的位元組。所以在移植上不存在問題。

所謂的不可移植是指:在乙個平台上編寫的**無法拿到另乙個平台上執行時,不能達到期望的執行結果。

例如:在32為平台上(所謂32位平台是指通用暫存器的資料寬度是32)編寫**,int 型別分配4個位元組,而在16位平台是則分配2個位元組,那麼在16位上編譯出來的exe,

其中是為int分配2位元組,而在32位平台上執行時,會按照4個位元組來解析,顯然會出錯誤的!!

而對於非int行,目前為止,所有的型別分配的位元組數都是相容的,即不同平台對於同乙個型別分配相同的位元組數!!

建議:在**中盡量避免使用int型別,根據不同的需要可以用short,long,unsigned int 等代替。   

第二章 變數和基本型別 2 1基本內建型別

基本型別包括算術型別 arithmetic type 和空型別 void 算術型別分為兩類 整型 integral type,包括字元和布林型別 和浮點型。基本字元型別是char,乙個char的空間應確保可以存放機器基本字符集中的任意字元對應的數字值。wchar t型別用於確保可以存放機器最大擴充套...

基本內建型別

c 的基本內建型別包含空型別和算術型別。算術型別包含 字元型別 整型數 浮點值 布林值。算術型別分為兩大類 整型,包含字元和布林型別在內 浮點型。除了布林型別和擴充套件的字元型別之外,其它整型可以劃分為帶符號和無符號的。字元型分為三種 char signed char unsigned char。但...

變數和基本型別

算術型別 arithmetic type c 標準規定了每個算術型別的最小儲存空間,但允許編譯器使用更大的儲存空間。事實上,對於int型,幾乎現在所有的編譯器使用的儲存空間都比所要求的大 也表明,在編寫程式時不能對這些型別的大小做任何假設 c 算術型別最小儲存空間規定如下 注 要特別注意int型,並...