问题描述
示例4采用宽寄存器的实现必须注意遵守适当的规范 语义。值与它们是在寄存器中还是在存储器中表示无关。对于 例如,不允许隐式溢出寄存器来更改值。 此外,显式存储和加载 需要四舍五入到存储类型的精度。特别是,需要强制转换和分配 执行其指定的转换。对于片段
double d1,d2;
float f;
d1 = f = expression;
d2 = (float) expression;
分配给d1和d2的值必须转换为浮点数。
这是C99 5.1.2.3 12中的
为什么将存储类型的精度四舍五入为寄存器存储并加载值?
单精度(float)不能与双精度(double)兼容吗?
我不知道为什么标准使用术语如内存,寄存器,溢出等。我认为这超出了范围。 >
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)