将十进制数转换为单精度浮点数

如何将十进制数转换为单精度浮点数参考

首先要知道

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浮点数的转换的更多相关文章

  1. IEEE754 浮点数

    IEEE754 浮点数 1.阅读IEEE754浮点数 A,阶码是用移码表示的,这里会有一个127的偏移量,它的127相当于0,小于127时为负,大于127时为正,比如:10000001表示指数为129 ...

  2. 震惊!计算机连0.3+0.6都算不对?浅谈IEEE754浮点数算数标准

    >>> 0.3+0.6 0.8999999999999999 >>> 1-0.9 0.09999999999999998 >>> 0.1+0.1+ ...

  3. 把一个IEEE754浮点数转换为IBM370浮点数的C#代码

    把一个IEEE754浮点数转换为IBM370浮点数的C#代码. 在这个网页上有古老的IBM370浮点格式的说明. // http://en.wikipedia.org/wiki/IBM_Floatin ...

  4. matlab中实现 IEEE754浮点数 与 一般十进制数之间 互相转换的方法

    ------------恢复内容开始------------ %2020/12/2 11:42:31clcformat long % IEEE754 to deca = '40800000'a = d ...

  5. delphi 浮点数float转换成十六进制字符串的方法(FloatToHex)

    重新书写了float型转为十六进制的delphi程序 Function FloatToHex(Value: single): string; var l, i: integer; HexText,te ...

  6. IEEE754浮点数

    前言 Go语言之父Rob Pike大神曾吐槽:不能掌握正则表达式或浮点数就不配当码农! You should not be permitted to write production code if ...

  7. IEEE754浮点数表示法

    IEEE二进制浮点数算术标准(ANSI/IEEE Std 754-1985)是一套规定如何用二进制表示浮点数的标准.就像"补码规则"建立了二进制位和正负数的一一对应关系一样,IEE ...

  8. IEEE Floating Point Standard (IEEE754浮点数表示法标准)

    浮点数与定点数表示法是我们在计算机中常用的表示方法 所以必须要弄懂原理,特别是在FPGA里面,由于FPGA不能像在MCU一样直接用乘除法. 定点数 首先说一下简单的定点数,定点数是克服整数表示法不能表 ...

  9. Python中4位1进制数与float浮点数互相转换

    import struct s = 'F4CEF042' print(s) #<是小端,>是大端,f代表浮点数 print(struct.unpack('<f', bytes.fro ...

随机推荐

  1. UDP实现在线聊天功能

    发送端 //发送 public class UDPChat01 { public static void main(String[] args) throws Exception { //开启端口 D ...

  2. 洛谷P1925 最大划分乘积的数学解法

    题目 最大划分乘积 题解 这道题用到一点导数和数论的知识,很容易看出这道题是求函数 \[f(x)=(\frac{n}{x})^{x} \] ( \(x\) 为正整数)的最大值.我们可以对 \(ln(f ...

  3. TypeScript 中函数的理解?与 JavaScript 函数的区别?

    一.是什么 函数是JavaScript 应用程序的基础,帮助我们实现抽象层.模拟类.信息隐藏和模块 在TypeScript 里,虽然已经支持类.命名空间和模块,但函数仍然是主要定义行为的方式,Type ...

  4. 面试官:Redis的事务满足原子性吗?

    原创:码农参上(微信公众号ID:CODER_SANJYOU),欢迎分享,转载请保留出处. 谈起数据库的事务来,估计很多同学的第一反应都是ACID,而排在ACID中首位的A原子性,要求一个事务中的所有操 ...

  5. Docker下制作一个容器镜像

    操作过程描述: (1)先基于centos的镜像启动一个centos容器 (2)在这个容器中安装nginx (3)然后把这个已经安装了nginx的容器制作成一个docker的镜像 操作:docker c ...

  6. adb 常用命令大全(3)- 查看手机设备信息

    查看手机型号 adb shell getprop ro.product.model 查看电池状况 adb shell dumpsys battery 其中 scale 代表最大电量,level 代表当 ...

  7. error: object file .git/objects/...

    cd .git find . -type f -empty -delete -print tail -n 2 .git/logs/refs/heads/master git show xxxx(版本号 ...

  8. 羽夏看Win系统内核——简述

    写在前面   此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...

  9. redis的集群安装

    1.创建安装目录 在master ,node1 ,node2中分别创建 mkdir /usr/local/soft/redis-cluster 2.将redis 复制到redis-cluster 目录 ...

  10. C++ cout格式化输出(输出格式)完全攻略

    使用流操作算子 它们都是在头文件 iomanip 中定义的:要使用这些流操纵算子,必须包含该头文件. 表1:C++ 流操纵算子 流操纵算子 作  用 *dec 以十进制形式输出整数 hex 以十六进制 ...