Float的存储方式

Float的存储方式

目录

Float的存储方式

最大值

最小值

精度(有效数字)


十进制:8.5

二进制:1000.1

每位的值(8421.1/2)

  二进制:1.0001*2^3

符号位为0 指数位为127+3(正+负-)

变化后的二进制存储方式为

最大值

(指数位全0和全1都不能用)指数最大为254-127=127。

尾数位约等于1,再加上省略的整数1,和为2,float能存的最大值为2*2^127=2^128。也就是3.4*10^38次方

 

最小值

计算:尾数部分约等于0,加上省略的1就是1,指数位为1-127=  -126,所以最小值为2^-126,约等于1.2*10^(-126)

精度(有效数字)

                  简单算法:1/(2^23)= 0.00000011920928955078125大约是小数点后六到七位之间。

                  或者:lg(2^23)约等于6.92

sizeof

Un的用%d输出第一位变成符号位,所以它的原码为10000000 00000000 00000000 00000001,也就是-1。

End用%d输出没问题,精度小的向精度大的转变,没问题。

Big大精度变小精度。前16位被覆盖,只剩后16位11111111 11111111,原码为10000000 00000001 也就是-1。

Verybig补码为0 111…………111(63个1)加1后变成1000…………000(63个0),用%lld 输出为-9223372036854775808(最小的负数)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值