1. 程式人生 > >C++各資料型別取值範圍(備忘)--32位作業系統

C++各資料型別取值範圍(備忘)--32位作業系統

各資料型別取值範圍

bool型為布林型,佔1個位元組,取值0或1。

BOOL型為int型,一般認為佔4個位元組,取值TRUE/FALSE/ERROR。

sbyte型為有符號8位整數,佔1個位元組,取值範圍在128~127之間。

bytet型為無符號16位整數,佔2個位元組,取值範圍在0~255之間。

short型為有符號16位整數,佔2個位元組,取值範圍在-32,768~32,767之間。

ushort型為無符號16位整數,佔2個位元組,取值範圍在0~65,535之間。

int型為有符號32位整數,佔4個位元組,取值範圍在-2,147,483,648~2,147,483,647之間。

uint型為無符號32位整數,佔4個位元組,取值範圍在0~4,294,967,295之間。

long型為64位有符號整數,佔8個位元組,取值範圍在9,223,372,036,854,775,808~9,223,372,036,854,775,807之間。

ulong型為64位無符號整數,佔8個位元組,取值範圍在0~18,446,744,073,709,551,615之間。

float型為32位單精度實數,佔4個位元組,取值範圍3.4E+10的負38次方~3.4E+10的38次方之間。

double型為64位實數,佔8個位元組,取值範圍1.7E+10的負308次方~1.7E+10的正308次方。

指標佔4個位元組。

注意:int佔多少個位元組是由編譯器決定的,ANSI標準定義int是佔2個位元組.
TC是按ANSI標準的,它的int是佔2個位元組的.
你可以在TC裡試.printf("%d",sizeof(int));結果是2;
但是在VC裡,一個int是佔4個位元組的,在VC裡面,
printf("%d",sizeof(int));
cout<<sizeof(int);結果都是4.
不同的編譯器,規定也不一樣.
float,double也是一樣的,在不同的編譯器裡,佔的位元組是不一樣的.