扩展双精度80位浮点在X86平台和mips平台下的差异
标签:
二进制翻译80位浮点数x86mips扩展双精度it |
分类: 二进制翻译 |
80位浮点的十六进制:0x3ffd8000000000000000 对应0.25
80位浮点的十六进制:0x3ffdccccccccccccd000 对应0.1
根据IEEE754浮点数的表示 0.25 =
1.0*2^(-2)
-2 = 阶码-偏移值 那么x86平台下gcc编译器表示80位浮点的偏移值位:0x3ffd+2=0x3fff = (2^14)-1 = 16383
注意,尾数的1在X86下显示表示出来了0x3ffd8000000000000000
在mips下80位浮点在内存是怎么表示的了?
相同的程序在loongson2F下编译
gcc -o test test.c -mabi=n32
http://s5/middle/6449050et9d1b79a93ac4&690
可以看出,在mips下,80位浮点用128位来表示,80位浮点运算扩展为128位进行运算,编译器中有函数可以调用。在这里就不说了,
这里强调的是128位表示规格:
0x3ffd000000000000000000

加载中…