文档章节

float 在内存中如何存储的

芥末小弟
 芥末小弟
发布于 2017/03/01 09:54
字数 410
阅读 1
收藏 0

float类型数字在计算机中用4个字节存储。遵循IEEE-754格式标准:
    一个浮点数有2部分组成:底数m和指数e

底数部分 使用二进制数来表示此浮点数的实际值
指数部分 占用8bit的二进制数,可表示数值范围为0-255

但是指数可正可负,所以,IEEE规定,此处算出的次方必须减去127才是真正的指数。
    所以,float类型的指数可从-126到128

底数部分实际是占用24bit的一个值,但是最高位始终为1,所以,最高位省去不存储,在存储中占23bit
    科学计数法。

格式:
SEEE EEEE EMMM MMMM MMMM MMMM MMMM MMMM
S表示浮点数正负    
E指数加上127后的值得二进制数据
M底数

举例:
17.625在内存中的存储

首先要把17.625换算成二进制:10001.101

    整数部分,除以2,直到商为0,余数反转。
    小数部分,乘以2,直到乘位0,进位顺序取。

在将10001.101右移,直到小数点前只剩1位:
    1.0001101 * 2^4 因为右移动了四位

这个时候,我们的底数和指数就出来了
底数:因为小数点前必为1,所以IEEE规定只记录小数点后的就好。所以,此处的底数为:0001101
指数:实际为4,必须加上127(转出的时候,减去127),所以为131。也就是10000011
符号部分是整数,所以是0
综上所述,17.625在内存中的存储格式是:
01000001 10001101 00000000 00000000    


© 著作权归作者所有

共有 人打赏支持
芥末小弟
粉丝 0
博文 202
码字总数 120715
作品 0
昌平
小蚂蚁学习C语言(2)——C语言编程预备知识(上)

C语言编程预备知识 1,cpu 内存条 硬盘 显卡 主板 显示器 之间的关系 2,hello world程序如何运行起来的 3,什么是数据类型 4,什么是变量 5,cpu 内存条 vc++ 操作系统 之间的关系 6,变量为...

嗜学如命的小蚂蚁
2015/11/28
113
0
float浮点数的二进制存储方式及转换

int和float都是4字节32位表示形式。为什么float的范围大于int? float精度为6~7位。1.66*10^10的数字结果并不是166 0000 0000 指数越大,误差越大。 这些问题,都是浮点数的存储方式造成的。...

Lennie002
2015/11/03
0
0
float、double类型的数据在计算机内部的表示法

由于float和double类型的数据在内存中的保存形式是一样的,只是double表示的范围更大而已。因此,这里只介绍float的表示方法。double同理。 假设,我现在有一个数据-12.25。那么这个数据在计...

BarnabyRoss
06/26
0
0
多因子模型之因子(信号)测试平台----python中Pandas做处理时内存节省的技巧

之前看到过一篇文章,讲的就是如何在使用pandas的时候降低内存的开销。笔者亲自尝试了一下,发现确实不错,但是也会有很多问题,譬如,一些第三方包(例如statsmodels、alphalens等)的运算要...

qtlyx
2017/09/16
0
0
小蚂蚁学习C语言(3)——C语言编程预备知识(中)

接上一篇笔记:http://my.oschina.net/woshixiaomayi/blog/536868 6,变量为什么要初始化: 所谓初始化就是赋值的意思。 释放:空间的使用权限可以分配给其他设备使用 道理是这样的: 当变量...

嗜学如命的小蚂蚁
2015/11/29
84
0

没有更多内容

加载失败,请刷新页面

加载更多

20181018 上课截图

![](https://oscimg.oschina.net/oscnet/49f66c08ab8c59a21a3b98889d961672f30.jpg) ![](https://oscimg.oschina.net/oscnet/a61bc2d618b403650dbd4bf68a671fabecb.jpg)......

小丑鱼00
49分钟前
1
0
WinDbg

参考来自:http://www.cnit.net.cn/?id=225 SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols ctrl + d to open dump_file Microsoft (R) Windows Debugger Version 6.12.0002.633......

xueyuse0012
今天
2
0
OSChina 周五乱弹 —— 想不想把92年的萝莉退货

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @罗马的王:分享松澤由美的单曲《地球ぎ》 很久没看圣斗士星矢了 《地球ぎ》- 松澤由美 手机党少年们想听歌,请使劲儿戳(这里) @开源中国首...

小小编辑
今天
15
2
springBoot条件配置

本篇介绍下,如何通过springboot的条件配置,控制Bean的创建 介绍下开发环境 JDK版本1.8 springboot版本是1.5.2 开发工具为 intellij idea(2018.2) 开发环境为 15款MacBook Pro 前言 很多时候,...

贺小五
今天
1
0
javascript source map 的使用

之前发现VS.NET会为压缩的js文添加一个与文件名同名的.map文件,一直没有搞懂他是用来做什么的,直接删除掉运行时浏览器又会报错,后来google了一直才真正搞懂了这个小小的map文件背后的巨大...

粒子数反转
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部