【DSP开发】如何获得浮点型的数据的IEEE的表示
声明:引用请注明出处http://blog.csdn.net/lg1259156776/
浮点数的存储规范,由IEEE指定的,具体的规范文件是:IEEE Standard 754 for Binary Floating-Point Arithmetic。
这里不细说存储规范,只是说明如何获取DSP程序中某一个float型变量的IEEE表示。
如果这个时候你想的是IEEE的规范,然后按照规范去根据float值去转换,那你就华丽丽的败了,因为这样做只能增加你的困扰,而且我保证效果不会很好。
这个时候应该换一种思路,既然所有的处理器,都是按照IEEE的浮点型格式存储的,那么对应内存中存储的数据就是浮点型的IEEE表示,直接读取这个浮点型变量对应内存中的数据即可。这个时候就显现出指针的强大了。如下所示:
float testFloat = 4.25;unsigned long * testIEEE = NULL;testIEEE = (unsigned long *)(&testFloat);
printf("%x\n",*testIEEE);
输出为:0x40880000,对应的二进制为:1000000100010000000000000000000,如果查阅一下IEEE的规范,进行计算可以验证是正确的。(单精度的浮点型32位)
2015-10-20 调试心得 张朋艺