小编典典

被零除:int vs. float

python

将一个整数除以零会抛出一个异常,但不会产生浮点数-至少在Java中如此。为什么float会有更多的NaN信息,而int类型却没有?


阅读 209

收藏
2021-01-20

共1个答案

小编典典

浮点数的表示经过设计,使得保留了一些特殊的位组合来存储特殊值,例如NaN,无穷大等。

没有用于int类型的未使用表示-每个位模式都对应一个整数。这具有许多优点:

  • 整数类型的范围应尽可能大-不会浪费位模式。
  • 整数的表示很容易理解,因为没有特殊情况。
  • 即使在非常简单的处理器上,整数运算也可以极高的速度完成。
2021-01-20