关于数据类型和取值范围的防呆笔记
各种数据类型的取值范围(总结全)
各数据类型取值范围
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<
不同的编译器,规定也不一样.
float,double也是一样的,在不同的编译器里,占的字节是不一样的