_Bool
布林值可算是無號整數(unsigned integer)的一種。只有兩個數值,0及1。0代表偽(false),1代表真(true)。可以用一個位元儲存。char
:字元(character)也算是整數(integer)的一種,可以是有號(signed)或無號(unsigned),依實作(implementation)而定。如果硬要有號或無號,請在前面加signed
或unsigned
。例如:signed char
或unsigned char
。char
一般是8位元,有可能是16位元,依實作而定。short
:短整數(short integer),可以是有號或無號,預設(default)是有號。如果需要無號,請在前面加unsigned
。例如:unsigned short
。short
一般是16位元,依實作而定。int
:整數(integer),可以是有號或無號,預設是有號。如果需要無號,請在前面加unsigned
,或直接寫unsigned
即可。例如:unsigned int
或unsigned
。int
一般在16位元的機器上是16位元,在32位元的機器上是32位元,在64位元的機器上是32或64位元,依實作而定。long
:長整數(long integer),可以是有號或無號,預設是有號。如果需要無號,請在前面加unsigned
。例如:unsigned long
。long
一般在16位元的機器上是32位元,在32或64位元的機器上是32或64位元,依實作而定。long long
:長長整數(long long integer),可以是有號或無號,預設是有號。如果需要無號,請在前面加unsigned
。例如:unsigned long long
。long long
一般是64位元,依實作而定。char
,short
,int
,long
是有長度順序的,依次為char
小於或等於short
小於或等於int
小於或等於long
小於或等於long long
。例如int
是32位元,那麼short
最長是32位元,long
最短也是32位元。各長度整數所能表示的數字範圍如下:
有號整數範圍 | 無號整數範圍 | |||
---|---|---|---|---|
位元 | 最小值 | 最大值 | 最小值 | 最大值 |
8 | -27=-128 | 27-1=127 | 0 | 28-1=255 |
16 | -215=-32,768 | 215-1=32,767 | 0 | 216-1=65,535 |
32 | -231=-2,147,483,648 | 231-1=2,147,483,647 | 0 | 232-1=4,294,967,295 |
64 | -263=-9,223,372,036,854,775,808 | 263-1=9,223,372,036,854,775,807 | 0 | 264-1=18,446,744,073,709,551,615 |
float
:單精度浮點數(single precision floating point)。float
一般是32位元。double
:倍精度浮點數(double precision floating point)。double
一般是64位元。long double
:長倍精度浮點數(long double precision floating point)。long double
一般是64,80或128位元。float
,double
,long double
是有長度順序的,依次為float
小於或等於double
小於或等於long double
。例如double
是64位元,那麼float
最長是64位元,long double
最短也是64位元。各長度浮點數所能表示的數字範圍如下:
浮點數的範圍 | ||||
---|---|---|---|---|
位元 | 指數長度 | 分數長度 | 最小值 | 最大值 |
32 | 8 | 23 | ±2-126≒1.18×10-38 | ≒±2128≒3.4×1038 |
64 | 11 | 52 | ±2-1022≒2.23×10-308 | ≒±21024≒1.8×10308 |
80 | 15 | 64 | ±2-16382≒3.65×10-4951 | ≒±216384≒1.19×104932 |
128 | 15 | 112 | ±2-16382≒3.65×10-4951 | ≒±216384≒1.19×104932 |
_Complex
:_Imaginary
:,
。例如: