如何用80c51进行浮点运算???

birdthree 2010-11-27 06:15:37
如:

uchar data = 0x80;
f = ((float)data/16)/16.0;
// data/0x80为0x08转换成浮点数再除以16.0,期望应该为0.5但实质为0

难道51不能浮点运算???如何用80c51进行浮点运算??? 谢老
...全文
78 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
houyu123 2010-11-27
  • 打赏
  • 举报
回复
我通常是把小数点前移的方式来操作浮点,
如:
long data = 0x80 * 100; //小数点前移2位
f = data / 16 / 16; //结果是50

由于前面程序约定了小数点前移了2位,所以50对应就是0.5。

27,374

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧