浮点数

  1. 浮点数,double(双精度) 是符号占1位,基数默认是2(不需要占位),指数占11位,尾数占52位。float (单精度)是符号占1位,基数也是2(不需要占位),指数占8位,尾数占23位。
  2. 尾数计算方法:1011.0011 为例
    1011.0011
    ====》小数点前必须是1
    1.0110011
    ====》小数点后补齐23位(这里以单精度来说明)
    1.01100110000000000000000
    ====》由于第一位固定是 1,所以不需要保存起来,这样小数点后的数就可以多保留一位(表示的数值范围就变大了一点点)取出小数点后的数字即尾数
    01100110000000000000000    粉色的就是求得的尾数
  3. 指数部分计算方法(excess):单精度为例,指数占8位,即1111 1111 是255 除以 2 是127.也就是用127 表示0,小于127的表示负数,大于127 的表示正数。比如128表示 +1 ,130表示+3, 126表示 -1 (指数范围是 -127 ~ 128)
  4. 参考:https://weread.qq.com/web/reader/99b32fe05dd9f199b1014efk341323f021e34173cb3824c
  5. 如何避免计算机计算出错:https://weread.qq.com/web/reader/99b32fe05dd9f199b1014efk636320102206364d3f0ffdc
原文地址:https://www.cnblogs.com/bneglect/p/12625548.html