濯茶的前端思考 2014-12-02 14:05 采纳率: 41.2%
浏览 1888
已采纳

关于C语言无符号规格化的一个理解

看深入理解计算机系统里面。关于规格化的一段描述:
......也就是说,指数的值是E=e-Bias,其中e是无符号数,其位表示为ek-1···e1e0,而Bias是一个
等于2k-1 -1(单精度是127,双精度是1023)的偏置值。....

我知道C语言单精度的指数位是8位,取值范围是-126到127.但是我对E=e-Bias不理解。这里的e代表的是什么?本人小白求解释。。

  • 写回答

2条回答 默认 最新

  • Coursera 2014-12-02 16:06
    关注

    e就是你的指数值,给个例子

    0100 0010 1**111 0110 0000 0000 0000 0000**

    第一个粗体的0是符号位,后面的10000101 = 133(十进制),这个是个单精度数,bias=127,所以指数是E - bias = 133 - 127 = 6
    第二个粗体长串111 0110 0000 0000 0000 0000是你的小数部分.111011
    这个数字的F = .111011 + 1 = 1.111011
    这个的值 = 1.111011 x 2^6 = 1111011 = 123

    这里之所以采用bias是因为指数从0~255,如何表示负数(小于1)的数,采用的是e - bias。(e大于127,是大于1,e小于127是小于1)。这样既可以表示大的数,也可以表示非常小的数(2的-128次方)。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 用三极管设计—个共射极放大电路
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示