概念、整型:表示整數、字元和布林值的算術型別合稱為整型(integral type)。
關於帶符號與無符號型別:整型 int、stort 和 long 都預設為帶符號型。要獲得無符號型則必須制定該型別為unsigned,比如unsigned long。unsigned int型別可以簡寫為unsigned,也就是說,unsigned後不加其他型別說明符就意味著是unsigned int。
一位元組表示八位,即:1byte = 8 bit;
int: 4byte = 32 bit有符號signed範圍:2^31-1 ~ -2^31即:2147483647 ~ -2147483648無符號unsigned範圍:2^32-1 ~ 0即:4294967295 ~ 0
long: 4 byte = 32 bit同int型
double: 8 byte = 64 bit範圍:1.79769e+308 ~ 2.22507e-308
long double: 12 byte = 96 bit範圍: 1.18973e+4932 ~ 3.3621e-4932
float: 4 byte = 32 bit範圍: 3.40282e+038 ~ 1.17549e-038
long long的最大值:9223372036854775807(>10^18)
long long的最小值:-9223372036854775808
unsigned long long的最大值:18446744073709551615
__int64的最大值:9223372036854775807
__int64的最小值:-9223372036854775808
unsigned __int64的最大值:18446744073709551615
int、unsigned、long、unsigned long 、double的數量級最大都只能表示為10億,即它們表示十進位制的位數不超過10個,即可以儲存所有9位整數。而short只是能表示5位;
另外對於浮點說而言:使用double型別基本上不會有錯。在float型別中隱式的精度損失是不能忽視的,二雙精度計算的代價相對於單精度可以忽略。事實上,在有些機器上,double型別比float型別的計算要快得多。float型只能保證6位有效數字,而double型至少可以保證15位有效數字(小數點後的數字),long double型提供的精度通常沒有必要,而且還要承擔額外的執行代價。
double是8位元組共64位,其中小數字佔52位,2-^52=2.2204460492503130808472633361816e-16,量級為10^-16,故能夠保證2^-15的所有精度。
在有些機器上,用long型別進行計算所付出的執行時代價遠遠高於用int型別進行同樣計算的代價,所以算則型別前要先了解程式的細節並且比較long型別與int型別的實際執行時效能代價。
資料型別範圍
char 128 127 1 byte short 32767 32768 2 bytes unsigned short 0 65536 2 bytes int 2147483648 2147483647 4 bytes unsigned int 0 4294967295 4 bytes long ...
資料型別範圍
若要了解有關 visual studio 2017 rc 的最新文件,請參閱 visual studio 2017 rc 文件 visual c 32 位和 64 位編譯器可識別本文後面的表中的型別。如果其名稱以兩個下劃線 開始,則資料型別是非標準的。下表中指定的範圍均包含起始值和結束值。位元組其他...
資料型別範圍
對 32 位和 64 位編譯器,microsoft visual c 識別在下表中顯示的型別。注意以下型別還具有無符號形式 型別名稱 位元組其他名稱 值的範圍 int4 簽名 2,147,483,648 到 2,147,483,647 unsigned int 4unsigned 0 到 4,294...