数据(整型和浮点数)在内存中的存储

目录

1.整型在内存中的存储

大小端字节序存储和字节序判断

1.大小端字节序存储:

2.字节序判断:

2.浮点数在内存中的存储

浮点数存储的过程

浮点数读取的过程

题目解析


1.整型在内存中的存储

我们先要明白:

整数在内存中是以二进制形式进行存储的,而整数的二进制表示方法有三种——原码、反码和补码,而整数在内存中存储的就是二进制的补码。

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

负数的三种表示方法各不相同

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

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

补码反码+1就得到补码

既然我们已经知道整数在内存中是以二进制的补码进行存储的,那我们不妨看一下下面这段代码:

(注:0x开头表示十六进制)如上图:我们发现变量a是“倒着”存进内存中的,这是为什么呢?——这就不得不讲到我们的大小端字节序存储了。

当我们创建一个变量a并将“0x11223344”赋给它并存进内存时,我们好像有两种存储的方法——正着存进去(即11223344)或是倒着存进去(即44332211),如图:

而我们刚刚那段代码就是小端字节序存储,因此是“倒着”存放进内存中的。

由这段代码我们引出了一个新的东西——大小端字节序

大小端字节序存储和字节序判断
1.大小端字节序存储:

当超过一个字节的数据在内存中存储的时候,显而易见会出现存储顺序的问题,而按照不同的存储顺序,我们又分为大端字节序存储和小端字节序存储,具体概念如下:

大端字节序存储:

数据的低位字节内容保存在内存的⾼地址处,⽽数据的⾼位字节内容,保存在内存的低地址处
小端字节序存储:
数据的低位字节内容保存在内存的低地址处,⽽数据的⾼位字节内容,保存在内存的⾼地址处
而在vs的x86环境中,就是小端字节序存储,由此刚刚那段代码的“0x11223344”在内存中就是“倒放”着的。


2.字节序判断:

我们先看一道百度笔试题:

再来一题:

请问该代码的输出结果是什么?

如图:,我们发现输出来是一个极大的数字,这就不得不通过观察它的内存存储情况来判断为什么是这个数了,如图:

2.浮点数在内存中的存储

我们首先来看一道例题:

输出结果如下:

输出结果可能跟我们所想的略有差别,这是为什么呢?——这就跟浮点数在内存中的存储有关了。

浮点数的存储方式如下:

因此浮点数的存储,存的就是S、M、E相关的值

我们以5.5为例,其写成二进制是101.1,因此S = 0,M = 1.01 ,E = 2.

则它在内存中的存储如图:



浮点数存储的过程

如图:

简单来讲就是M存储时默认第一位总是1因此舍去,这样可以节省一位有效数字

而E为了防止其出现负数会加一个中间值

浮点数读取的过程

浮点数读取时M和S都可以正常读取,但E有特殊情况,如图:



题目解析

浮点数在内存中的存储我们已经基本讲解完了,那么我们回到开头的题目——看看它为什么是那样输出的吧。

如图:




完结撒花啦,如果觉得博主写的还过得去的话给个免费的三连吧亲🌼🌼

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

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

相关文章

数据结构(六)队列

文章目录 一、概念二、逻辑结构:线性结构三、存储结构(一)顺序队列(二)循环队列1. 结构体定义2. 创建队列(1)函数定义(2)注意点(3)代码实现 3. 入…

SQLI-labs-第二十五关和第二十五a关

目录 第二十五关 1、判断注入点 2、判断数据库 3、判断表名 4、判断字段名 5、获取数据库的数据 第二十五a关 1、判断注入点 2、判断数据库 第二十五关 知识点:绕过and、or过滤 思路: 通过分析源码和页面,我们可以知道对and和or 进…

解决 WooCommerce 的分析报表失效问题

今天明月的一个境外电商客户反应网站的 WooCommerce 分析报表已经十多天没有更新了,明明每天都有订单交易可分析报表里的数据依旧是十多天前的,好像更新完全停滞了似的。明月也及时的查看了后台的所有设置,确认没有任何问题,WooCo…

什么是光栅化?

一、 什么是光栅化? 光栅化作用是将几何数据变换后转换为像素呈现在显示设备上的一个过程。几何数据转换为像素, 本质是坐标变换、几何离散化,如下: 其中包含了坐标变换和几何离散化: 二、光栅化完成了什么 3D中,物…

数组-两个升序数组中位数

一、题目描述 二、解题思路 (一).基本思想: 如果列表总长度allsize( arr1.size()arr2.size() ) 为奇数时,中位数位置应该在两个列表排序后的第 allsize/2 位置处,如果allsize为偶数,中位数应该取 (allsize/2)-1 和 allsize/2 的…

Google Extension 【Google 最佳扩展插件】

pockettube: youtube manager 订阅号分组沉浸式翻译:全网口碑炸裂的双语对照网页翻译插件Google 翻译腾讯翻译篡改猴MetaMaskGlarity: Summarize & Translate Any Page

移动端应用订阅SDK接入攻略

本文档介绍了联想应用联运移动端订阅SDK接入操作指南,您可在了解文档内容后,自行接入应用联运移动端订阅SDK。 接入前准备 1请先与联想商务达成合作意向。 2.联系联想运营,提供应用和公司信息,并获取商户id、app id、key&#…

卸载/删除 Maxask.com,最简单的方法

被绑架的浏览器,太恶心了。 Maxask伪装成了插件,在你搜索网页的时候利用了重定向,导致出现的界面时Maxask的界面,很恶心。 只需要排查正在使用的,如下图有颜色的图表。 删除一个插件,浏览器搜索一下看看有…

2024年上半年软件设计师试题及答案(回忆版)--选择题

基础知识选择题 基础知识选择题 1,2,3][4,5,6][1,2,3,4,5,6] (总:1分) (注意:括号内的是截止当前题目总分) vlan不能隔绝内外网 (2分) 链路层使用交换机,…

C语言 | Leetcode C语言题解之第115题不同的子序列

题目&#xff1a; 题解&#xff1a; int numDistinct(char* s, char* t) {int m strlen(s), n strlen(t);if (m < n) {return 0;}unsigned long long dp[m 1][n 1];memset(dp, 0, sizeof(dp));for (int i 0; i < m; i) {dp[i][n] 1;}for (int i m - 1; i > 0;…

M2m中的采样

采样的完整代码 import torch import numpy as np from torchvision import datasets, transforms from torch.utils.data import DataLoader, WeightedRandomSampler, SubsetRandomSamplerdef get_oversampled_data(dataset, num_sample_per_class):""" Gener…

Brewer Science将在CS Mantech进行展示

在风景如画的亚利桑那州图森市举办的CS Mantech盛会上&#xff08;2024年5月20日至23日&#xff09;&#xff0c;杰出化合物半导体材料企业Brewer Science&#xff0c;将带来一场名为“化合物半导体制造的创新材料解决方案”的演讲盛宴。这一演讲&#xff0c;定于五月二十一日星…

宝塔:如何在宝塔面板做301重定向

如何在宝塔面板做301重定向?301重定向对于网站来说非常重要。如果你的网站以www开头&#xff0c;我们应该把没有www的域名重定向到有www的域名&#xff0c;反之亦然。 1、我们进入宝塔管理后台 2、登录面板并单击添加站点。既然要把xxx.com 301发到www.xxx.com&#xff0c;我…

【设计模式深度剖析】【5】【结构型】【桥接模式】| 以电视和遥控器为例加深理解

&#x1f448;️上一篇:组合模式 设计模式-专栏&#x1f448;️ 目 录 桥接模式(Bridge Pattern)定义英文原话是&#xff1a;直译理解 4个角色UML类图代码示例 应用优点缺点使用场景 示例解析&#xff1a;电视和遥控器UML类图 桥接模式(Bridge Pattern) 定义 英文原话是&am…

最新!!2024年上半年软考【中级】网络工程师 综合知识真题解析

2024上半年软考考试已经结束了&#xff0c;为大家整理了网友回忆版的网络工程师真题及答案&#xff0c;总共41道题。 上半年考试的宝子们可以对答案预估分数&#xff01;准备下半年考的宝子可以提前把握考试知识点和出题方向&#xff0c;说不定会遇到相同考点的题目&#xff01…

基于ssm+vue图书管理系统

基于ssmvue图书管理系统 ssm477图书管理系统 相关技术 javassmmysqlvueelementui

上海亚商投顾:沪指震荡反弹 半导体产业链午后爆发

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 沪指昨日震荡反弹&#xff0c;尾盘涨幅扩大至1%&#xff0c;深成指、创业板指同步上行&#xff0c;科创50指数…

搭载昇腾310NPU的Orange Pi AIpro开箱体验以及深度学习样例测试

Orange Pi AIpro开箱体验以及样例测试 随着人工智能和物联网技术的快速发展&#xff0c;单板计算机&#xff08;Single Board Computer, SBC&#xff09;在创客和开发者社区中越来越受到欢迎。我最近入手了一款高性能的单板计算机——Orange Pi AIpro。 在入手此款AI开发板之…

【三维重建】ePnP

PnP问题应用与一下场景&#xff1a; 已知三维点和对应二维点以及相机相机内参数&#xff0c;可以获取相机外参。 我们介绍其中的一种算法&#xff1a;ePnP 算法流程 1、ePnP算法首先在世界坐标系内寻找4个控制点&#xff0c;记作 C 1 w , C 2 w , C 3 w , C 4 w C_1^w,C_2^w,…

Laravel和ThinkPHP框架比较

一、开发体验与易用性比较 1. 代码可读性&#xff1a; - Laravel以其优雅的语法和良好的代码结构著称&#xff0c;使得代码更加易读易懂。 - 相比之下&#xff0c;ThinkPHP的代码可读性较为一般&#xff0c;在一些复杂业务场景下&#xff0c;可能会稍显混乱。 让您能够一站式…