回覆列表
-
1 # pshdi3241
-
2 # 使用者928021938244
char/signed char/unsigned char: 1個位元組;
char*(即指標變數):
2個位元組(16位編譯器)
4個位元組(32位編譯器)
8個位元組(64位編譯器)
short int: 2個位元組
int/unsigned int:
2個位元組(16位編譯器)
4個位元組(32/64位編譯器)
long int: 4個位元組
float: 4個位元組
double: 8個位元組
long double: 8/10/12/16?
long/unsigned long:
4個位元組(16/32位編譯器)
8個位元組(64位編譯器)
long long: 8個位元組
string: 字元個數+1
想要實現超過long型別的數的操作,只能用字元陣列進行操作,網上也有不少大數操作的例程,自己看看
早期的作業系統是16位系統,int用二位元組表示,範圍是-32768~32767;long用4位元組表示,範圍是-2147483648~2147483647。後來發展到32位作業系統,int用4位元組表示,與long相同。目前的作業系統已發展到64位作業系統,但因程式編譯工藝的不同,兩者表現出不同的差別:32位編譯系統:int佔四位元組,與long相同。64位編譯系統:int佔四位元組,long佔8位元組,long資料範圍變為:-2^63~2^63-1