单片机 > 单片机程序设计 > 详情

位变量访问float的二进制位(c51)

发布时间:2025-10-31 发布时间:
|

;问题:C语言不允许使用位变量来访问浮点数据类型的二进制位,请看一下代码:
union flm
{
 float mf;
 long ml;
};

bdata struct bady
{
 char ml;
 union flm ex;
}try;

sbit tryf31 = try.ex.ml ^ 31;
sbit trym10 = try.ml ^ 0;
sbit trym17 = try.ml ^ 7;
;处理方法:通过将浮点数和长整数构造一个联合(两者均为32位),后用位变量来访问联合中长整型的位,由于float和long在union中占用了相同的存储空间,也就访问了浮点数的对应位。


关键字:位变量  访问float  二进制位 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
89C51单片机数码管显示