float和int都是32位,为啥表示范围不同?还有long和int又啥区别?
float和int都是32位,表示范围不同是因为存储的数类型不同。
浮点类型的单精度值具有4个字节,也就是32位。包括一个符号位、一个8位二进制指数和一个23位尾数。用于存储单精度浮点数或双精度浮点数。提供了一个大约在 -3.4E+38 ~ 3.4E+38 之间的范围。
int类型在内存中占用了4个字节,也就是32位。int类型是有符号的,因此,32位并不会全部用来存储数据,包括一个符号位,使用其他的31位来存储数据。用于存储整数类型变量。-2147483648~2147483647[-2^31~2^31-1]。
long和int区别为:存储不同、数据范围不同、机器字长不同。
一、存储不同
1、long:long用于存储长整数类型变量。
2、int:int用于存储整数类型变量。
二、数据长度不同
1、long:long不受编译器限制,数据长度是标准的8bytes。
2、int:int受编译器限制,不同编译器数据长度不同可以是8、16bytes。
扩展资料
整数(int类型的常量)有几种书写形式,程序中的整数一般采用十进制写法。用十进制方式写出的一个整数就是普通数字字符组成的一个连续序列,其中不能有空格、换行或其他字符。C语言规定十进制表示的数字不能是0,除非要写的整数本身就是0。
由于长整数是另外一个不同类型的整数,所以C语言为长整数规定了一种专门写法,其特殊之处是在表示数值的数字序列最后附一个字母“L”或“l”作后缀。由于小写字母“l”容易与数字“1”混淆,建议读者采用大写的“L”。
float和int都是32位,表示范围不同是因为存储的数类型不同。
浮点类型的单精度值具有4个字节,也就是32位。包括一个符号位、一个8位二进制指数和一个23位尾数。用于存储单精度浮点数或双精度浮点数。提供了一个大约在 -3.4E+38 ~ 3.4E+38 之间的范围。
int类型在内存中占用了4个字节,也就是32位。int类型是有符号的,因此,32位并不会全部用来存储数据,包括一个符号位,使用其他的31位来存储数据。用于存储整数类型变量。-2147483648~2147483647[-2^31~2^31-1]。
long和int区别为:存储不同、数据范围不同、机器字长不同。
一、存储不同
1、long:long用于存储长整数类型变量。
2、int:int用于存储整数类型变量。
二、数据长度不同
1、long:long不受编译器限制,数据长度是标准的8bytes。
2、int:int受编译器限制,不同编译器数据长度不同可以是8、16bytes。
三、机器字长不同
1、long:long类型为一个或两个机器字长。
2、int:int类型为一个机器字长。
LONG 是长整型,包括INT。
SHORT类型基本上与INT是一致的。在“-32768---+32768”之间用SHORT类型。