濯茶的前端思考 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 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类