为什么SIGFPE
用于整数算术异常,而不是为整数算术异常创建单独的信号,或者将信号命名为算术异常?
发布于 2020-02-11 21:38:25
IEEE Std 1003.1 Standard将SIGFPE定义为:
错误的算术运算。
实际上并没有提到浮点运算。这背后的原因没有明确的陈述,但这是我对它的看法。
通过FIDIV
等指令,x86可以同时对整数和浮点数据进行操作,因此尚不清楚将浮点数据除以整数0是否会产生浮点或整点异常。
此外,多达80486个(与ISO/ANSI标准同年发布)的x86 CPU根本没有浮点功能,浮点协处理器是一个独立的芯片。可以使用软件浮点仿真来代替芯片,但是使用CPU内置的ALU (整数算术逻辑单元)会抛出整数异常。
https://stackoverflow.com/questions/60127747
复制相似问题