IEEE754 标准数据格式 与 十进制 之间转换的简单方法 附C程序
(2015-05-27 15:38:34)
标签:
c语言嵌入式 |
分类: 学习交流 |
1 IEEE754标准数据格式这里就不具体罗列了,有关转换例子可参考下面连接:
http://blog.chinaunix.net/uid-24118190-id-75212.html
2 在实际应用中,如果按照IEEE754计算规则去编写C程序实现IEEE754与十进制之间的转换会有些麻烦,其实在C语言中浮点数本身就是采用IEEE格式来存储的,可巧妙利用union数据类型实现两者之间的转换,方法如下:
2.1 定义union数据
typedef
union
{
}un_DtformConver;
2.2 应用
un_DtformConver
uint8 i;
int32 il_Temp32;
float f_Temp;
//十进制float型数据转换成IEEE754标准
DtformConver.ul_Temp =
220.1;
il_Temp32=0;
//IEEE754标准转换成十进制float
il_Temp32 =
0x435C0000;
以上是我从程序里copy出来的,已经验证过~
http://www/uc/myshow/blog/misc/gif/E___6789EN00SIGG.gif
在此要非常感谢:http://www.dzsc.com/data/html/2011-10-13/98858.html
另外多说一句,在一般数据通信过程中,习惯用BCD格式的,实质上基于上面加个BIN与BCD之间的相互转换就可以了~