IEEE754浮点数的转换
将十进制数转换为单精度浮点数
如何将十进制数转换为单精度浮点数参考
首先要知道
IEEE浮点标准:V=(-1)^s * M * 2^E
1.符号(sign)s决定这个数是负数(s=1)还是正数,0(s=0)。
2.尾数(significand) M是一个二进制小数.
3.阶码(exponent)E对浮点数加权。
其次要知道单精度浮点数一般下是32位,由三段组成,第一段只有一位即s,第二段有8位,如何得到,可以通过公式中2的指数加上127,所得到的数转换成二进制可得,第三段是由转换的二进制小数中小数部分再补0到23位所得
因此5.75转换成二进制得101.11=1.0111 * 10 ^2
s = 0, E = 2 + 127 = 129,E转换成二进制得10000001,小数部分为0111,再补0至23位
最后5.75的单精度浮点数为01000000101110000000000000000000
同理161.875转换成二进制得10100001.111=1.0100001111 * 2 ^ 7
s = 0, E = 7 + 127 = 134,E转换成二进制得10000110,小数部分为0100001111,再补0至23位
最后161.875的单精度浮点数为01000011001000011110000000000000
-0.0234375的绝对值转换成二进制得0.0000011=1.1 * 2 ^ -6
s = 1, E = -6 + 127 = 121,E转换成二进制得01111001,小数部分为1,再补0至23位
最后-0.0234375的单精度浮点数为10111100110000000000000000000000
在python中实现浮点数的转换
码云
验证上述转换是否正确如图

参考网站
1.https://blog.csdn.net/qq_40890756/article/details/83111431
2.https://blog.csdn.net/linda_ds/article/details/78136316
3.http://c.biancheng.net/view/314.html
IEEE754浮点数的转换的更多相关文章
- IEEE754 浮点数
IEEE754 浮点数 1.阅读IEEE754浮点数 A,阶码是用移码表示的,这里会有一个127的偏移量,它的127相当于0,小于127时为负,大于127时为正,比如:10000001表示指数为129 ...
- 震惊!计算机连0.3+0.6都算不对?浅谈IEEE754浮点数算数标准
>>> 0.3+0.6 0.8999999999999999 >>> 1-0.9 0.09999999999999998 >>> 0.1+0.1+ ...
- 把一个IEEE754浮点数转换为IBM370浮点数的C#代码
把一个IEEE754浮点数转换为IBM370浮点数的C#代码. 在这个网页上有古老的IBM370浮点格式的说明. // http://en.wikipedia.org/wiki/IBM_Floatin ...
- matlab中实现 IEEE754浮点数 与 一般十进制数之间 互相转换的方法
------------恢复内容开始------------ %2020/12/2 11:42:31clcformat long % IEEE754 to deca = '40800000'a = d ...
- delphi 浮点数float转换成十六进制字符串的方法(FloatToHex)
重新书写了float型转为十六进制的delphi程序 Function FloatToHex(Value: single): string; var l, i: integer; HexText,te ...
- IEEE754浮点数
前言 Go语言之父Rob Pike大神曾吐槽:不能掌握正则表达式或浮点数就不配当码农! You should not be permitted to write production code if ...
- IEEE754浮点数表示法
IEEE二进制浮点数算术标准(ANSI/IEEE Std 754-1985)是一套规定如何用二进制表示浮点数的标准.就像"补码规则"建立了二进制位和正负数的一一对应关系一样,IEE ...
- IEEE Floating Point Standard (IEEE754浮点数表示法标准)
浮点数与定点数表示法是我们在计算机中常用的表示方法 所以必须要弄懂原理,特别是在FPGA里面,由于FPGA不能像在MCU一样直接用乘除法. 定点数 首先说一下简单的定点数,定点数是克服整数表示法不能表 ...
- Python中4位1进制数与float浮点数互相转换
import struct s = 'F4CEF042' print(s) #<是小端,>是大端,f代表浮点数 print(struct.unpack('<f', bytes.fro ...
随机推荐
- TypeScript 中函数的理解?与 JavaScript 函数的区别?
一.是什么 函数是JavaScript 应用程序的基础,帮助我们实现抽象层.模拟类.信息隐藏和模块 在TypeScript 里,虽然已经支持类.命名空间和模块,但函数仍然是主要定义行为的方式,Type ...
- 记一次 .NET 某新能源汽车锂电池检测程序 UI挂死分析
更多高质量干货:参见我的 GitHub: dotnetfly 一:背景 1. 讲故事 这世间事说来也奇怪,近两个月有三位朋友找到我,让我帮忙分析下他的程序hangon现象,这三个dump分别涉及: 医 ...
- noip模拟33
\(\color{white}{\mathbb{失足而坠千里,翻覆而没百足,名之以:深渊}}\) 这场考试的时间分配非常不科学 开题试图想 \(t1\) 正解,一个半小时后还是只有暴力,特别惊慌失措 ...
- Python - 通过PyYaml库操作YAML文件
PyYaml简单介绍 Python的PyYAML模块是Python的YAML解析器和生成器 它有个版本分水岭,就是5.1 读取YAML5.1之前的读取方法 def read_yaml(self, pa ...
- python-request 实现企业微信接口自动化-1(DDT)
环境准备 python+requests 读取企业微信api开发文档,得知调用企业微信接口必须先获取企业微信的accesstoken是通过 ("corpid","&quo ...
- 页面调用系统window打印
一. 打印:直接页面调用window.print(),当前页面就会转换成打印页面 当前页面是使用HTML拼接成A4纸表格样式的展示: doPrint:function(type) { // this. ...
- 硕盟USB3.0 转RJ45千兆网卡 TYPE A USB3.0 TO RJ45
硕盟SM-A44是一款USB3.0转RJ45千兆网口转换器.这是一种高性能和低开销的解决方案.转换USB端口到10 / 100/ 1000M以太网端口可以让您的笔记本,台式机电脑能够通过USB接口连接 ...
- Docker安装GitLab与Runner(网关),常规设置,自动化用到k8s+token
[转]图文详解k8s自动化持续集成之GitLab CI/CD Windows里面使用Debian命令行工具完成 和Docker网络相关的命令 查看某一个容器的网络 docker inspect 容器I ...
- Tars | 第0篇 腾讯犀牛鸟开源人才培养计划Tars实战笔记目录
腾讯犀牛鸟开源人才培养计划Tars实战笔记目录 前言 在2021年夏,笔者参加了腾讯首届开源人才培养计划的Tars项目,负责Subset流量管理规则的Java语言JDK实现.其中写作几篇开源实战笔记, ...
- 5.10学习总结——Activity的跳转和传值
使用sharedpreference是对信息的存储,也可以进行传值,今天通过查找资料,学习了Activity的跳转和传值方法. 跳转 1.显示跳转 4种方法 1 2 3 4 5 6 7 8 9 10 ...