我正在尝试理解浮点表示。我不理解浮点中的“无穷大”“NaN”表示。我正在查看TopCoder提供的表格。
无穷大由所有1的指数和所有0的尾数表示。
我只能把它读作0^n,我不确定它是如何趋向于无穷大的。
你应该简单地忽略使用的位模式,并将无穷大和NaN视为特殊值。除非你在浮点数上做位摆弄(我认为没有什么理由这样做),否则你只会在IEEE规则规定应该创建这些值的地方遇到这些值,忽略计算机如何表示它们的问题是安全的。即使你做的不仅仅是标准计算,我的猜测是99%的时候,位模式并不重要。
当然,以上都没有说你应该忽略标准、有限、非零浮点数的实现。尽管从尾数/指数到内存中的位这一步仍然几乎不相关。在你链接到的页面中,作者声称“C中的全局变量被初始化为零位模式”——这是错误的。C中POD类型的全局变量是用语义零所需的任何位模式初始化的(§3.6.2.2,§8.5.5)。我相信C标准不要求任何浮点值有任何特定的位模式。