首页 > 系统相关 >整数和浮点数在内存中存储

整数和浮点数在内存中存储

时间:2024-03-23 13:29:49浏览次数:23  
标签:存储 反码 有效数字 浮点数 内存 原码

1,整数在内存中存储

首先先了解原码,补码,反码

三者第一位均为符号位。我们用 表示 正 ,1 表示 负

原码:直接将数值按照正负数的形式翻译成⼆进制得到的就是原码。

补码:将原码的符号位不变,其他位依次按位取反就可以得到反码。

反码:反码+1就得到补码。

如 整数5 原码:00000000000000000000000000000101

               补码:011111111111111111111111111111111010

               反码:011111111111111111111111111111111011

整型在内存中存放补码

补充:大小端

⼤端(存储)模式:是指数据的低位字节内容保存在内存的⾼地址处,⽽数据的⾼位字节内容,保存 在内存的低地址处。

⼩端(存储)模式:是指数据的低位字节内容保存在内存的低地址处,⽽数据的⾼位字节内容,保存 在内存的⾼地址处。

我们常用的VS2022即为小端存储

2,浮点数在内存中存储

任意⼀个⼆进制浮点数V可以表⽰成下⾯的形式:

V   =  (−1) ∗ S M ∗ 2E

(−1)S 表⽰符号位,当S=0,V为正数;当S=1,V为负数

M 表⽰有效数字,M是⼤于等于1,⼩于2的

2 E 表⽰指数位

对于32位的浮点数,最⾼的1位存储符号位S,接着的8位存储指数E,剩下的23位存储有效数字M

对于64位的浮点数,最⾼的1位存储符号位S,接着的11位存储指数E,剩下的52位存储有效数字M

注释及特例

m的首数字1不计 原因是可以节省1位有效数字,保留更多有效数字

如果E为8位,它的取值范围为0~255;如果E为11位,它的取值范围为0~2047。但是,我们知道,科学计数法中的E是可以出现负数的,所以IEEE 754规定,存⼊内存时E的真实值必须再加上 ⼀个中间数,对于8位的E,这个中间数是127;对于11位的E,这个中间数是1023。

故当E不全为0或不全为1时,指数E的计算值减去127(或1023),得到真实值,再将有效 数字M前加上第⼀位的1。

E全为0 这时,浮点数的指数E等于1-127(或者1-1023)即为真实值,有效数字M不再加上第⼀位的1,⽽是还 原为0.xxxxxx的⼩数。这样做是为了表⽰±0,以及接近于0的很⼩的数字。

E全为1 这时,如果有效数字M全为0,表⽰±⽆穷⼤(正负取决于符号位s);

标签:存储,反码,有效数字,浮点数,内存,原码
From: https://blog.csdn.net/HardenMvp1/article/details/136964828

相关文章

  • C盘内存清零的关键设置
    一、禁用系统保护设置-高级系统设置-系统保护-配置-禁用系统保护。  二、设置虚拟内存无分页在桌面上找到电脑图标,右键点击,选择属性,点击属性窗口左侧菜单中的“高级系统设置”,切换到弹出的系统属性窗口中的高级列,点击性能后面的设置按钮,出现性能设置窗口,我们的界面会切......
  • C++结构体内幕揭秘:sizeof之谜与内存布局探秘
     概述:C++结构体的`sizeof`不总是等于每个成员的`sizeof`之和,因为对齐和填充影响了内存布局。未对齐的结构体可能存在间隙,而对齐的结构体会插入填充以保持对齐。通过示例展示了结构体的内存对齐和填充,以及如何使用模板元编程打印结构体成员的偏移量,深入理解内存布局。在C++中,......
  • 解读“CFMS中国闪存市场峰会”存储技术看点-2
    根据Yole机构分析数据显示,CXL在2024年开始爬坡,在2025年将会大规模上量,也就是代表着CXL的时代从2025年开始正式到来。服务器目前正面临着内存性能挑战,而CXL部署提供了短期和长期的解决方案。从CXL1.1开始,AI云服务器可以从内存扩展中受益,而CXL3.0有可能为GPU、DPU、FPGA和AS......
  • 函数 (XI) 开发手册和开发文档、函数(XII) 告阶函数【变得麻烦了】、54 永久存储
    查看刚才写的函数注释类型注释内省函数(XII)高阶函数高阶函数就是函数的参数也是函数,比如生成器那节课!高阶函数几乎就可以说是函数式编程的·灵魂所在·54永久存储......
  • 全网最详细介绍如何实现图片存储阿里OSS实现资源持久化存储
    什么是阿里云OSS阿里云OSS(ObjectStorageService,对象存储服务)是阿里云提供的一种存储服务,它支持任意类型的数据存储,如图片、视频、日志文件等。OSS以对象(Object)的形式组织数据,并存储在容器(Bucket)中。每个对象由其数据和元数据组成,对象被唯一地标识,使得用户可以在全球任何......
  • 浏览器中存储数据
    本地存储空间【localStorage】//存储数据到localStoragelocalStorage.setItem('key','value');//从localStorage中获取数据constvalue=localStorage.getItem('key');//从localStorage中移除数据localStorage.removeItem('key');//清空......
  • C++中char,char*,char[],string存储中文的问题
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、使用char,char*,char[],string存储中文二、内存中是乱码,但是可以正常输出三、解决方法:w_char,前言学习时遇到的问题,如有不对,欢迎大佬们批评指正!一、使用char,char*,char[],string存......
  • 深入了解C语言中浮点数的存储方式
    因为这期可能对你们来说太简单了,所以我用一个字来概括吧好了,结束了,我们下期再见喽,不会有人真的走了吧,好了,砸门多的不说少的不闹好吧,直接上主食。1.浮点数和整数在内存中存储的区别浮点数和整数在内存中存储的区别主要体现在数据表示和存储方式上:1.数据类型:  -整数(in......
  • 整数和浮点数在内存中的存储
    整数和浮点数在内存中的存储整数在内存中的存储浮点数在内存中的存储整数在内存中的存储1.整数是以二进制的形式存储的,一个二进制位会占据一个比特位的空间。例如:#include<stdio.h>intmain(){ inta=10;//十进制的形式 //1010二进制形式 //一个整型是四......
  • pyhon字典值存储列表
    示例构建了一些域名作为字典键值对,将顶级域名下不同的二级域名添加到字典值存储列表importredata=["x.douyinvod.com","x.amemv.com","x.snssdk.com","x.douyincdn.com","x.douyinliving.com","x.huoshanlive.com"......