long double我还没完全整出来(宿舍没有intel电脑,就算有也没有linux系统的),前面说的是double类型(64位)。
我认为影响编译结果的只有cpu指令和编译器。两个假设:假设相同编译器在不同平台间遵守相同的设计规则;那么输出结果也应该相同。假设前面给的网站编码结果正确(反正我计算得到这个编码以及龙芯手册给的的确是真实结构),那么下面代码应该输出3.3。目前相同代码在龙芯上输出3.3(龙芯说它依照的是IEEE 754),intel输出0.0。反正intel的输出结果总有问题吧?!(欢迎拍砖)
程序代码:
#include <stdio.h>
int main(int argc, char **argv)
{
printf("%lf\n", 0x400a666666666666);
}
结果:
图片附件: 游客没有浏览图片的权限,请
登录 或
注册
(刚看到,上面的引用不太相关,因为实验没有使用windows系统)
[此贴子已经被作者于2020-6-13 18:02编辑过]