GNU浮点数

来自泡泡学习笔记
跳到导航 跳到搜索

接受或生成浮点数的命令使用底层系统的浮点表示法,并且受到舍入误差、溢出和类似的浮点问题的影响。几乎所有现代系统都使用IEEE-754浮点数,而且通常假设IEEE-754行为是可移植的。IEEE-754具有正无穷大和负无穷大,区分正零和负零,并使用称为NaN的特殊值来表示无效计算,例如将零除以自身。更多信息,请参阅David Goldberg的论文《每个计算机科学家都应该了解的浮点算术知识》。


接受浮点数作为选项、操作数或输入的命令使用标准C函数strtod和strtold将文本转换为浮点数。因此,这些浮点数可以使用科学计数法,例如1.0e-34和-10e100。解析浮点数的命令还可以识别不区分大小写的inf、infinity和NaN,尽管这些值是否有用取决于具体的命令。


通常情况下,LC_NUMERIC区域设置确定小数点字符。然而,某些命令的描述指定它们接受当前区域设置或C区域设置中的数字;例如,如果当前区域设置使用逗号作为小数点,它们会将'3.14'视为'3,14'。