文档章节

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    


© 著作权归作者所有

上一篇: object-c面向对象2
下一篇: javascript
芥末小弟
粉丝 0
博文 202
码字总数 120715
作品 0
昌平
私信 提问
加载中

评论(0)

遥测浮点数的计算 十进制浮点型转为十六进制浮点型

浮点数在计算机内存中的存储格式 对于浮点类型的数据采用单精度类型(float)和双精度类型(double)来存储,float数据占用 32bit,double数据占用 64bit,我们在声明一个变量float f = 2.25f的时候...

osc_7vr85akt
2019/07/16
1
0
小蚂蚁学习C语言(2)——C语言编程预备知识(上)

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

嗜学如命的小蚂蚁
2015/11/28
148
0
Knowledge Point 20180305 详解精度问题

1.1 精度与基本数据类型运算的深度解析   我们在探讨Java基本数据类型时多次提到过精度的问题,那么计算机中的精度究竟是什么样的,为什么我们有时候的计算和我们预期的不同呢?下面我们通...

osc_9l5vqi8m
2018/03/04
4
0
c/c++浮点数在内存中存储方式

转自:https://www.cnblogs.com/dolphin0520/archive/2011/10/02/2198280.html 任何数据在内存中都是以二进制的形式存储的,例如一个short型数据1156,其二进制表示形式为00000100 10000100...

osc_2a5k276k
2018/08/04
1
0
Java的数据类型及数据类型转换

要了解数据类型,需要先知道什么是变量? 变量:就是在程序的执行过程中,其值是可以在一定的范围内发生改变的量。    也就是说,当创建变量的时候,需要先在内存中申请空间,变量的值就存...

osc_45dhoxd5
2019/10/07
2
0

没有更多内容

加载失败,请刷新页面

加载更多

Kubernetes Ingress简单入门

本文转载自Rancher Labs 不知道你是否注意到一个奇怪的现象,尽管Kubernetes Ingress API仍然处于beta状态,但是已经有许多公司使用它来暴露Kubernetes服务。从事相关项目的工程师表示,Kub...

osc_slfjdpj6
37分钟前
21
0
ACCDB MDB Explorer for mac(数据库查看器)

想要更加直观的查看大数据,小编推荐使用mac数据查看工具ACCDB MDB Explorer Mac版,该软件能够将导入的数据库导出为XML,XLS,CSV和TXT格式的文件简便高效请添加链接描述,功能强大,需要的...

osc_63i522q0
39分钟前
14
0
二 javanio中的Channel transfer 内容

java nio中channel操作 分散 将channel中读取的数据分散写入多个buffer中 聚集 将多个buffer写入数据到同一个channel 应用 将消息头和消息体放入到不同buffer,便于分类处理应用 将消息头和消...

writeademo
39分钟前
26
0
如何更好的盘活和用好数据资产,企业如何构建数据竞争力的关键在这里!

在今年4月公布的《中共中央国务院关于构建更加完善的要素市场化配置体系机制的意见》中,“数据”首次作为一种新型生产要素写入中央文件中,与土地、劳动力、资本、技术等传统要素并列成为要...

osc_5asswvor
39分钟前
30
0
如何更好的盘活和用好数据资产,企业如何构建数据竞争力的关键在这里!

在今年4月公布的《中共中央国务院关于构建更加完善的要素市场化配置体系机制的意见》中,“数据”首次作为一种新型生产要素写入中央文件中,与土地、劳动力、资本、技术等传统要素并列成为要...

osc_e7clsgkf
41分钟前
12
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部