- 浮点数的位级存储和整数完全不同,整数1和浮点数1.0存储也截然不同。通过调试器查看int变量和float变量的内存存储,或者写一段dump字节代码比较其区别,还有一种方式,C/C++ %a格式串可用十六进制形式表达浮点数(其他编程语言可能不适用)。
- 不同浮点数位级存储也不相同,float和double是不同的。
- 浮点数和整数运算,整数会默认先转换成浮点数。如下是浮点数和整数相加的汇编指令:
f = f + i;
cvtsi2ss xmm0,dword ptr [i]
addss xmm0,dword ptr [f]
movss dword ptr [f],xmm0
