科锐课堂笔记:2017/2/23 浮点小数存储格式

探讨了大数阶乘的计算方法及浮点数在计算机中的存储原理,包括单精度与双精度浮点数的具体表示方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  阶乘100的解题思路用数组存数模拟手工算乘法。(结果值有150多位)
  递归比循环效率低多了,能不用就不用。线性问题优先使用循环。


  数字后加f表示单精度,不加双精度(对小数而言)。
  定点小数优点快速高效,但缺乏灵活性。
  单精度浮点小数存储格式(共4字节)如图:


  这里需要注意,指数部分存的是指转换成二进制下小数点向右(正向)或向左(负向)移动的次数,以127为起点(127=0),128向右移1,126向左移1以此类推(与其把一个数一切2分正负,还不如用补码表示呢,废劲),小数部分不足23位尾部用0补足对齐。(向后不向前补齐真是反其道而行)
  举个例子,十进制的3.25转成浮点数存储,3=11,0.25转二进制方法小数部分不断*2每次取整除部分一直到小数部份为0止,如0.25*2=0.5(取0),0.5*2=1.0(取1),所以0.25=0.01,合起来3.75=11.01,移一下小数位=1.101*10^1,那么它的浮点格式化=(0) (1000 0000) (1010 0000 0000 0000 0000 000) ,表示成16进制为40 50 00 00,当然在小端CPU中反着看就是00 00 50 40。
  双精度同单精度一样,只是扩展成8字节,其中指数部分扩大到11位,小数部分扩大到52位。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值