您的位置:首页 > 其它

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

2017-02-23 23:35 495 查看
  阶乘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位。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: