刷csapp关于浮点数的问题

刷csapp的时候碰到浮点数的问题,我有两个地方不是很能理解:

  1. 比如说32位机器中, 我们用第23位到30位(右边从0位算起)来表示阶码,既然第31位以及已经了这个浮点数的正负,那么为什么我们不能简单的用这8位以整数的原则来处理而要使用E = e - Bias 这样看似难以理解的方式呢.
    这个问题我自己想到的答案是:这样做可以很方便的比较两个浮点数的值(e越大减去bias还是越大),而不用处理整数中补码的情况(比如如果阶码部分首位是1时,按照整数的原则这是个负数却要比首位是0的数小这样显得不那么直观),同时也提高了效率(个人猜测...). 但是我感觉这个答案不太能说服我自己.

  2. 第二个问题是,我不太清除非规格化的值出现的意义,书中提到的两点意义

  • 一个是说这提供了一种表示0的方法(我赞同)

  • 第二点说这可以用来非常接近于0.0的数(不太理解)

阅读 2.3k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进