为什么四个字节的浮点数比八个字节的整数表示的范围广

数值范围:一种数据类型所能表示的最大值和最小值。
数据精度:实数所能表示的有效数字位数。
数值范围和数据精度均与使用多少位二进制位数以及编码方式有关。
计算机用数字表示正负,隐含规定小数点。采用“定点”、“浮点”两种表示形式。

整数数据类型

1个字节=8bit,也就是8位

一个字节,8位,其中最大为127(2^7-1)(从0到127)

转化为二进制为0111 1111

最小为-128(从-1到-128)(-2^7)

转化为二进制为1111 1111

其中的第一位为符号位,

第一位是0,代表是正数

第一位是1,代表是负数

其中的正数和负数的个数是相同的。

当数据类型的字节为2时同理

最小为1111 1111 1111 1111(-2^15)

最大为0111 1111 1111 1111(2^15-1)由此可以得出下表:

                                  整型数据类型的取值范围

数据类型字节范围
byte1-128~127(-2^7~2^7-1)
short2-32768~32767(-2^15~2^15-1)
int4-2^31~2^31-1
long8-2^63~2^63-1

定点整数——小数点位置固定在数的最低位之后 

若采用原码,则范围为: -(2n-1)   ~  2n -1

其中n表示数值位的位数。

浮点型数据类型

                                                   浮点数的一般格式

            一旦浮点数的位数确定以后,合理分配指数位和尾数的位数,直接影响浮点数的表示范围和精度。

         指数越长,表示范围越大;

          尾数越长,表示精度越高。

所以说指数位影响浮点数的范围。

对于浮点数有专门的标准规格:IEEE754,

它提供了两种浮点数格式:32位单精度格式和64位双精度格式

符号位S

指数

尾数

总位数

短实数/单精度

1

8

23

32

长实数/双精度

1

11

52

64

临时实数/扩展精度

1

15

64

80

 以单精度浮点数为例,(共32位)其中符号位1位,指数8位,尾数23位。阶码取值范围:

正数最大值为0111 1111为127

正数最小值为为1000000为128

 从指数位的角度去计算最大为2^127

最小为2^-128

定点小数——小数点位置固定在数的符号位之后、数值最高位之前。

  若采用原码,则范围为:-(1-2-n) ~ 1-2-n

八字节long范围-2^63~2^63-1

四个字节的float大概为2^-128~2^127

显然float更大

  • 32
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值