数据在内存中的存储

简介: 数据在内存中的存储

整数

有符号整数最高位是符号位,0表示正数,1表示负数。无符号整数最高位是数值位。


浮点数

浮点数在内存中比较复杂。浮点数用二进制表示的通用式是:(-1)^S  *  M  *  2 ^ E

S决定了它的正负 ,M位该浮点数的有效数字, 2^E为浮点数的指数位。举个例子,10进制的5.5用二进制表示为101.1, 科学计数法表示为1.011 *  2^2, 由此可知, S为0, M为1.011, E为2.而在内存中存储的不是浮点数本身,而是S, M, E。在32位中,用最高位的第一位存储S, S后面的8位存储E, 剩下的23位存M。在64位中最高位存S, 后面的11位存E, 剩下的52位存M。实际上内存在存M(有效数字)的时候不会存整数“ 1 ”, 只存小数点后面的数字。这样做的好处是:可以多出来一比特的空间存更多的数字。再存E的时候, 并不会存E的真实值, E的真实值会加一个中间值,在32位中,中间值是127, 64位中是1023.为什么要这样做呢?因为存E的8个(11个)比特位中没有符号位,只能存正数。

相关文章
|
1月前
|
存储 编译器 C语言
【C语言篇】数据在内存中的存储(超详细)
浮点数就采⽤下⾯的规则表⽰,即指数E的真实值加上127(或1023),再将有效数字M去掉整数部分的1。
|
23天前
|
存储 监控 Docker
如何限制docker使用的cpu,内存,存储
如何限制docker使用的cpu,内存,存储
|
1月前
|
编译器 C++
virtual类的使用方法问题之C++类中的非静态数据成员是进行内存对齐的如何解决
virtual类的使用方法问题之C++类中的非静态数据成员是进行内存对齐的如何解决
|
1月前
|
存储 算法 大数据
小米教你:2GB内存搞定20亿数据的高效算法
你好,我是小米。本文介绍如何在2GB内存中找出20亿个整数里出现次数最多的数。通过将数据用哈希函数分至16个小文件,每份独立计数后选出频次最高的数,最终比对得出结果。这种方法有效解决大数据下的内存限制问题,并可应用于更广泛的场景。欢迎关注我的公众号“软件求生”,获取更多技术分享!
147 12
|
1月前
内存的数据
va的ava的va的ava的内存需要划分成为5个部分: 1.栈(Stack)存放的都是方法中的局部变量。方法的运行一定要在栈当中运行。 2.堆(Heap)凡是new出来的东西,都是在堆当中 堆内存的东西都有一个地址值:16进制 堆内存的数据,都有默认值。规则: 整数 默认是0 浮点 默认0.0 字符 默认'\u0000'
28 3
|
1月前
|
C++ 容器
curl使用小记(三)——获取远端数据到内存缓冲区
curl使用小记(三)——获取远端数据到内存缓冲区
35 0
|
1月前
|
存储 编译器 C语言
数据在内存中的存储
数据在内存中的存储
|
2月前
|
存储 分布式计算 Hadoop
HadoopCPU、内存、存储限制
【7月更文挑战第13天】
189 14
|
2月前
|
存储 固态存储 芯片
计算机中内存与存储
【7月更文挑战第28天】
33 1
|
2月前
|
存储 弹性计算 程序员
新手程序员如何阿里云服务器配置?新人开发者CPU内存带宽存储怎么选?
对于新手开发者、个人或学生选择阿里云服务器,推荐ECS经济型e实例(ecs.e-c1m1.large),适用于小型网站或轻量应用。配置2核2G内存、3M固定带宽、40G ESSD系统盘,仅99元/年且续费同价。