设为首页收藏本站淘宝杂货铺

从F到0 - From F to 0

 找回密码
 注册已关闭
搜索
查看: 1895|回复: 3
收起左侧

C51 32位浮点小数转整数/字节 可实现浮点数的存取/传输等用途 3.1415926转0x40490FDA

[复制链接]
发表于 2018-10-30 22:58:18 | 显示全部楼层 |阅读模式

  1. #include "reg51.h"

  2. union udata {        //union 结构 (5个不同类型变量) 共用同一个指针地址内存位置(共4字节)
  3.         float f;
  4.         double d;
  5.         unsigned long l;
  6.         unsigned char c[4];
  7.         unsigned int i[2];
  8. };

  9.         //此方法浮点转出的整数是用来通过传输、存取的,不是用来计算的,转换前请注意大小端
  10. unsigned long f2l(float f){        //浮点数转32位长整数 输入3.1415926 输出0x40490FDA
  11.         union udata  c;
  12.         c.f=f;
  13.         return c.l;
  14. }

  15. float l2f(unsigned long l){        //32位长整数还原浮点数 输入0x40490FDA 输出3.1415926
  16.         union udata  c;
  17.         c.l=l;
  18.         return c.f;
  19. }
  20. void main(){
  21.         double xdata pi;
  22.         unsigned long xdata a;
  23.         pi=l2f(0x40490FDA);
  24.         a=f2l(pi);
  25.         while(1);
  26. }
复制代码

评分

1

查看全部评分

相关帖子

发表于 2018-10-31 20:15:28 | 显示全部楼层
谢谢分享,正好需要.
发表于 2018-11-9 12:52:58 | 显示全部楼层
原来酱紫的方法
您需要登录后才可以回帖 登录 | 注册已关闭

本版积分规则

QQ|手机版|Archiver|从F到0 ( 蒙ICP备17002595号-1 )
蒙公网安备15010402000325号

腾讯云安全认证

GMT+8, 2024-4-26 15:13 , Processed in 0.649037 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表