整数和浮点数在内存中储存的形式

整数

整数的二进制表示法有三种,即原码、反码、补码。

三种表示方式均有符号位和数值位

符号位位于数值位最高位的那一位,分别用0和1表示,0表示正数,1表示负数。

数值位,除最高位的那一位外其他都是数值位。

正整数的原码、反码和补码都相同,

负整数不同,负整数的反码等于原码二进制位上除符号位外,每一位按位取反,即0变1,1变0。

负整数的补码等于反码+1。

浮点数

二进制浮点数的存储方式通常遵循IEEE 754标准,这个标准规定了单精度和双精度浮点数的存储格式。

对于单精度浮点数,它使用32位来表示一个浮点数,按照如下格式进行存储: 1位:符号位(0代表正数,1代表负数) 8位:指数部分 23位:尾数部分

对于双精度浮点数,它使用64位来表示一个浮点数,按照如下格式进行存储: 1位:符号位(0代表正数,1代表负数) 11位:指数部分 52位:尾数部分

在这两种格式中,指数部分用来表示浮点数的阶码,尾数部分则用来表示浮点数的尾数。根据指数部分的不同取值,可以表示不同范围的浮点数。这种存储格式可以有效地表示各种大小的浮点数,并提供一定程度的精度。

即  

例如:十进制的5.0,二进制为101.0,相当于1.01*2^2

可得出, S = 0, M = 1.01, E = 2

M

1<=M<=2,可写成1.xxxx,xxxx比哦是小数部分。计算机内部储存时,储存的是小数部分,

例如M = 1.01,计算机储存时会储存01,舍去1,但在读取时,计算机会再加回去。

E

如果E为8位,它的取值范围是0—255;如果E为11位,取值范围0—2047。

IEEE754规定,存入内存时E的真实值必须加上一个中间数,对于8位的E来说,中间数为127;11位的E,中间数为1023

就是为了保证无论储存的是正数还是负数都是一种形式(方便计算机使用)

E在内存取出时还分三种情况
1.E不全为0或不全为1

指数E减去127(或1023),得到真实值,再将有效数字M前加上第一位1

以0.5为例,二进制形式为0.1,由于正数部分必须为1, 表示为1.0*2^-1,E = -1,储存时为(-1)+127 = 126。M为0,位数不足时补0.

0 01111110  00000000000000000000000

2.E全为0

浮点数指数E = 1-127(或1-1023)为真是值,有效数字不在加1,还原为0.xxxxxxx的小数

无限接近于0

3.E全为1

和2.相反,接近于无穷,正负取决于符号位s

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/451461.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

GaussDB(DWS)运维利刃:TopSQL工具解析

在生产环境中&#xff0c;难免会面临查询语句出现异常中断、阻塞时间长等突发问题&#xff0c;如果没能及时记录信息&#xff0c;事后就需要投入更多的人力及时间成本进行问题的定位和解决&#xff0c;有时还无法定位到错误出现的地方。在本期《GaussDB(DWS)运维利刃&#xff1…

Onlyfans年龄验证/无法支付解决方案

很多小伙伴在使用的时候遇到年龄验证&#xff0c;或者需要绑定visa卡&#xff0c;这里需要注意的是提示绑定visa卡直接绑定就好了&#xff0c;记得开好你的环境&#xff0c;要不然也会出现身份验证&#xff0c;对于我们来说验证一般是不过的 1、准备好环境 2、准备好卡&#…

如何使用US Domain Center和WordPress搭建非营利组织网站的详细指南

在今天的数字化时代&#xff0c;拥有一个专业、易于管理和更新的网站对于非营利组织&#xff08;例如慈善机构、NGO等&#xff09;至关重要。WordPress是一个功能强大且易于使用的网站构建平台&#xff0c;而美国域名中心 US Domain Center&#xff1a;US Domain Center 则是一…

iOS应用内的沙盒目录

iOS系统的沙盒机制规定每个应用都只能访问当前沙盒目录下面的文件&#xff0c;在开发中常常需要数据存储的功能&#xff0c;比如存取文件&#xff0c;归档解档等&#xff0c;因此有必要熟悉沙盒目录及其作用。 Documents目录 开发者可以将应用程序的数据文件保存在这个目录下.…

9.15完全平方数

j 算法&#xff1a; 完全平方数就是物品&#xff08;可以无限件使用&#xff09;&#xff0c;凑个正整数n就是背包&#xff0c;问凑满这个背包最少有多少物品&#xff1f; 动规五部曲&#xff1a; 1.确定dp及其下标 dp[j]&#xff1a;凑成j的最少完全平方数的个数为dp[j] …

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的暴力行为检测系统(深度学习模型+UI界面+Python代码+训练数据集)

摘要&#xff1a;本篇博客深入介绍了如何利用深度学习技术构建暴力行为检测系统&#xff0c;并提供了完整的实现代码。本系统基于性能卓越的YOLOv8算法&#xff0c;并与YOLOv7、YOLOv6、YOLOv5等前代算法进行了详细的性能比较&#xff0c;关注了如mAP、F1 Score等关键性能指标。…

数据结构 第2章:线性表

文章目录 2.1 线性表的定义和操作2.1.1 线性表的基本概念2.1.2 线性表的基本操作 2.2. 顺序表2.2.1. 顺序表的基本概念2.2.2. 顺序表的实现2.2.3. 顺序表的基本操作 2.3 链表2.3.1 单链表的基本概念2.3.2 单链表的实现2.3.3 单链表的插入2.3.4. 单链表的删除2.3.5. 单链表的查找…

爬虫入门到精通_框架篇13(PySpider框架基本使用及抓取TripAdvisor实战)_PySpider下载安装,项目实战

1 PySpider框架基本用法 PySpider框架&#xff1a; 去重处理PyQuery提取错误重试多进程处理代理简洁JavaScript渲染结果监控WebUI管理 安装PySpider: pip install pyspider报错&#xff1a; 主要是async是python3.7的保留字&#xff0c;pyspider库中的有些文件与之重复而出…

Stable Diffusion 模型下载:Comic Babes(漫画宝贝)

本文收录于《AI绘画从入门到精通》专栏&#xff0c;专栏总目录&#xff1a;点这里。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八 下载地址 模型介绍 条目内容类型大模型基础模型SD 1.5来源CIVITAI作者datmuttdoe文件名称comicBabes_v2.safet…

教你用两种方式遍历循环python中的字典

开发中经常会用到对于字典、列表等数据的循环遍历&#xff0c;但是python中对于字典的遍历对于很多初学者来讲非常陌生&#xff0c;今天就来讲一下python中字典的循环遍历的两种方式。 注意&#xff1a; python2和python3中&#xff0c;下面两种方法都是通用的。 1. 只对键的…

Python算法题集_搜索旋转排序数组

Python算法题集_搜索旋转排序数组 题33&#xff1a;搜索旋转排序数组1. 示例说明2. 题目解析- 题意分解- 优化思路- 测量工具 3. 代码展开1) 标准求解【二分法区间判断】2) 改进版一【二分找分界标准二分法】3) 改进版二【递归实现二分法】 4. 最优算法5. 相关资源 本文为Pytho…

【libwebrtc】基于m114的构建

libwebrtc A C++ wrapper for binary release, mainly used for flutter-webrtc desktop (windows, linux, embedded).是 基于m114版本的webrtc 最新(20240309 ) 的是m122了。官方给出的构建过程 .gclient 文件 solutions = [{"name" : src,"url

MySQL Connector连接失败之SSL connection error: protocol version mismatch

调用 mysql_real_connect&#xff08;&#xff09; 连接失败&#xff0c;报错为ERROR 2026 (HY000): SSL connection error: protocol version mismatch 调用mysql_error&#xff08;&#xff09;查看失败原因&#xff0c;结果为 SSL connection error: protocol version …

Android APK体积优化指南:清理项目,打造更小的APK、更快的构建速度和更好的开发体验

Android APK体积优化指南&#xff1a;清理项目&#xff0c;打造更小的APK、更快的构建速度和更好的开发体验 在任何软件项目中&#xff0c;开发是一个持续的过程&#xff0c;随着时间的推移&#xff0c;代码库会变得越来越复杂。这种复杂性可能导致构建时间变慢、APK体积变大&…

前端页面访问后台hiveserver2,阶段性报错

1、运行环境 Windows11下安装VMware&#xff0c;VMware下安装CentOS7 Linux系统&#xff0c;三台虚拟机集群部署hadoop&#xff0c;安装hive&#xff1b; 在Linux下安装Eclipse&#xff0c;创建maven工程&#xff0c;使用hive-jdbc-2.3.2访问hiveserver2 2、在windows11下&…

双环PID控制详细讲解

参考博客&#xff1a; &#xff08;1&#xff09;PID双环控制&#xff08;速度环和位置环&#xff09; &#xff08;2&#xff09;PID控制&#xff08;四&#xff09;&#xff08;单环与双环PID&#xff09; &#xff08;3&#xff09;内外双环pid算法 0 单环PID 目标位置→系…

git撤回代码提交commit或者修改commit提交注释

执行commit后&#xff0c;还没执行push时&#xff0c;想要撤销之前的提交commit 撤销提交 使用命令&#xff1a; git reset --soft HEAD^命令详解&#xff1a; HEAD^ 表示上一个版本&#xff0c;即上一次的commit&#xff0c;也可以写成HEAD~1 如果进行两次的commit&#xf…

【Redis】Redis 缓存重点解析

Redis 缓存重点解析 推荐文章&#xff1a;【Redis】Redis的特性和应用场景 数据类型 持久化 数据淘汰 事务 多机部署-CSDN博客 1. 我看你的项目都用到了 Redis&#xff0c;你在最近的项目的哪些场景下用到了 Redis 呢&#xff1f; 一定要结合业务场景来回答问题&#x…

Bitmap实现原理应用场景

Bitmap是什么&#xff1f; 用内存中连续的二进制位&#xff08;bit&#xff09;&#xff0c;用0或1标识数据是否存在。 长度为10的bitmap&#xff0c;1&#xff0c;2&#xff0c;3&#xff0c;4 在bitmap中存在。 Bitmap实现 1、字符串 数值对应字符串的下标、二进制位0&…

【linux】冯诺依曼体系与操作系统的理解

本篇文章是进程的预备知识&#xff0c;但也不仅仅是进程的预备知识&#xff0c; 也可以更好地帮助我们理解整个计算机体系。 目录 冯诺依曼体系结构&#xff1a;进一步理解操作系统&#xff1a; 冯诺依曼体系结构&#xff1a; 关于这张图先进行一下必要的解释&#xff1a; 输…