当前位置: 首页 > news >正文

浮点数的位级表示转变为二进制表示

把x的浮点数的位级表示转变为二进制表示,并确定小数点的位置。

程序代码

typedef unsigned long float_bits;typedef struct {long int y;  // 二进制小数表示int decp;   // 小数位位置
} str;void bitlevel_binaryfract(float_bits x,str *p);void main()
{str s1;float_bits x;long int m=1;float fx;x=0x40490fdb;   // 浮点数位级表示bitlevel_binaryfract(x,&s1);fx=s1.y>>s1.decp;fx=fx+(s1.y&((m<<s1.decp)-1))*1.0/(m<<s1.decp);while(1);
}void bitlevel_binaryfract(float_bits x,str *p)
{unsigned long sign,exp,frac,i=1;int j;long int E;sign=x>>31;exp=x>>23&0xff;frac=x & 0x7fffff;if(exp==0)frac=0;j=23;while(frac!=0)  //j为最右边1的位置{if((frac&0x1)==1)break;elsej--;frac>>=1;}frac=frac|(i<<j);E=exp-127;if(E>=0)p->decp=j-E;elsep->decp=j-E;p->y=frac;
}

说明:x=0x0x40490fdb是\pi的近似浮点数位级表示。

运行结果

fx=3.14159274。

相关文章:

  • 数组-差分数组抽象版
  • 【Redis】笔记|第7节|大厂生产级Redis高并发分布式锁实战(二)
  • 风机巡检方案艰难之路
  • 基于TI DSP控制的光伏逆变器最大功率跟踪mppt
  • 【Zephyr 系列 5】定时器与低功耗控制:打造省电高效的嵌入式系统
  • Windows 下部署 SUNA 项目:虚拟环境尝试与最终方案
  • 数据生命线 - MySQL 备份与恢复策略详解
  • ADI硬件笔试面试题型解析上
  • VueScan:全能扫描,高清输出
  • STM32学习之WWDG(原理+实操)
  • 适合自己的记单词方式
  • 中英混合编码解码全解析
  • C++实现汉诺塔游戏用户交互
  • 【笔记】用命令手动下载并安装 tokenizers 库.whl文件(Python 3.12+)
  • 动态规划(2)
  • 7. Ext系列文件系统
  • 深度学习介绍
  • 如何选择最高效的沟通方式?
  • 光耦电路学习,光耦输入并联电阻、并联电容,光耦输出滤波电路
  • 国产高云FPGA实现视频采集转UDP以太网输出,FPGA网络摄像头方案,提供2套Gowin工程源码和技术支持
  • 西安市建设厅网站/推广软文范例大全500
  • 深圳移动网站建设/重庆人力资源和社会保障网官网
  • 社区党建网站系统建设/东莞seo计费
  • 网站空间用万网的 域名不在万网/网页设计与制作软件有哪些
  • 什么程序做的网站没有index页面/站长网站查询
  • 做的最好的门户网站/网络优化有前途吗