淺析定義C++數(shù)據(jù)類型
下面介紹C++數(shù)據(jù)類型,在C++程序中可以在必要時(shí)進(jìn)行不同C++數(shù)據(jù)類型間的換算,這些都是在相關(guān)論壇上找到的一些方法,在這里分享一下,供大家相互學(xué)習(xí)交流。
而在C++,則必須先聲明變量類型再使用變量:int x1 = 1;int x = 1000;float y = 3.14;long z = 457000;這樣,編譯器就可以進(jìn)行類型檢查,確保程序運(yùn)行時(shí)一切順利。C++數(shù)據(jù)類型使用不當(dāng)會(huì)導(dǎo)致編譯錯(cuò)誤或警告,以便分析和糾正之后再運(yùn)行。
有些數(shù)據(jù)類型有帶符號(hào)和無(wú)符號(hào)兩種。帶符號(hào)(signed)數(shù)據(jù)類型可以包含正數(shù)和負(fù)數(shù),而無(wú)符號(hào)C++數(shù)據(jù)類型只能包含正數(shù)。表1.1列出了C++中的數(shù)據(jù)類型、所要內(nèi)存量和可能的取值范圍。
數(shù)據(jù)類型 字節(jié) 數(shù)取值范圍 :
- char 1 -128到126
- unsigned char 1 0到255
- short 2 -32,768到32,767
- unsigned short 2 0到65,535
- long 4 -2,147,483,648到2,147,483,648
- unsigned long 4 0到4,294,967,295
- int 4 同long
- unsigned int 4 同unsigned long
- float 4 1.2E-38到3.4E381
- double 8 2.2E-308到1.8E3082
- bool 1 true或false
從上表可以看出,int與long相同。那么,為什么C++還要區(qū)分這兩種數(shù)據(jù)類型呢?實(shí)際上這是個(gè)遺留問(wèn)題。在16位編程環(huán)境中,int要求2個(gè)字節(jié)而long要求4個(gè)字節(jié)。而在32位編程環(huán)境中,這兩種數(shù)據(jù)都用4個(gè)字節(jié)存放。
C++Builder只生成32位程序,所以int與long相同。說(shuō)明 在C++ Builder和BorLand C++ 5.0中,Bool是個(gè)真正的數(shù)據(jù)類型。有些C++編譯器有Bool關(guān)鍵字,則Bool不是個(gè)真正的數(shù)據(jù)類型。有時(shí)Bool只是個(gè)typedef,使Bool等價(jià)于int。
typedef實(shí)際上建立別名,使編譯器在一個(gè)符號(hào)與另一符號(hào)間劃上等號(hào)。typedef的語(yǔ)法如下:typedef int Bool;這就告訴編譯器:Bool是int的別名。說(shuō)明 只有double和float數(shù)據(jù)類型使用浮點(diǎn)數(shù)(帶小數(shù)點(diǎn)的數(shù))。
其它數(shù)據(jù)類型只涉及整數(shù)值。盡管integer數(shù)據(jù)類型也可以指定帶小數(shù)點(diǎn)的數(shù)值,但小數(shù)部分會(huì)舍棄,只將整數(shù)部分賦予整型變量,例如:int x=3.75;得到的x取值為3。注意,這個(gè)整數(shù)值并不是四舍五入,而是放棄小數(shù)部分。
順便說(shuō)一句,大多數(shù)Windows程序很少用到浮點(diǎn)數(shù)。C++可以在必要時(shí)進(jìn)行不同C++數(shù)據(jù)類型間的換算。例如:short result;long num1 = 200;long num2 = 200;result = num1 * num2;這里我想將兩個(gè)長(zhǎng)整型的積賦予一個(gè)短整型。
盡管這個(gè)公式混用了兩種C++數(shù)據(jù)類型,但C++能夠進(jìn)行換算。計(jì)算結(jié)果會(huì)怎樣呢?結(jié)果會(huì)讓你大吃一驚,是25536,這是繞接(wrop)的結(jié)果。從表1.1可以看出,短整型的最大取值為32767,在最大值之上加1會(huì)怎么樣呢?得到的是32768。這實(shí)際上與汽車?yán)锍逃?jì)從99999回到00000的道理一樣。為了說(shuō)明這點(diǎn),請(qǐng)輸入并運(yùn)行下列清單1.3中包含的程序。
【編輯推薦】