数据在内存中的存储方式

前言:

期末临近,继续复习!

今天要复习的内容是数据在内存中的存储,主要是整型与浮点两种,还有大小端的介绍。

提出问题

7ebe3613f1304b5bbff7dcae0851080d.png

打印结果是255            -1

为什么?

首先我们要知道数据都是以二进制的形式存储于计算机中的,而不同的类型在不同平台下占用的空间大小也不一样,具体可看下图

76040534a5784efd87059fae508567d8.png

数据来源http://t.csdnimg.cn/2gnJv

在此基础上我们还要知道整数默认是4个字节,小数是8个字节

整数在内存中以补码形式存在

-1:11111111 11111111 11111111 11111111

把-1赋值给char类型的a,会发生截断,之后后八位被存进去了

a:11111111

同理,b:11111111

在打印的时候是以%d打印的,因此a,b要发生整形提升,a作为无符号数提升后为00000000 00000000 00000000 11111111

b作为有符号数变为11111111 11111111 11111111 11111111

这些都是补码,被读取后一个数255,一个是-1

在此基础上我们对char进一步分析,他可以存的数有以下这些

86f00ae8373942219c8a93b952a0c0bc.jpeg

 

对于有符号char来说他的范围是-128到127

对于无符号char来说它的范围是0到255,都是存了256个不同的数,而且当你存的数字超过他的范围时,就会开始循环了如下图所示

cf8136101c00421ba71101da36d8ac27.jpg

 举个例子,对于无符号数255,他的补码是11111111

那么你存一个无符号256此时存进去的就是00000000,每次循环就是256个数,具体顺序就是上图。

 

 

 

 

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Framework和SpringBoot的区别

目录 一、前言 二、什么是Spring 三、什么是Spring Framework 四、什么是SpringBoot 五、使用Spring Framework构建工程 六、使用SpringBoot构建工程 七、总结 一、前言 作为Java程序员,我们都听说过Spring,也都使用过Spring的相关产品&#xff0…

uni-app 前后端调用实例 基于Springboot 详情页实现

锋哥原创的uni-app视频教程: 2023版uniapp从入门到上天视频教程(Java后端无废话版),火爆更新中..._哔哩哔哩_bilibili2023版uniapp从入门到上天视频教程(Java后端无废话版),火爆更新中...共计23条视频,包括:第1讲 uni…

mysql进阶-重构表

目录 1. 原因 2. 如何重构表呢? 2.1 命令1: 2.2 命令2: 2.3 命令3: 1. 原因 正常的业务开发,为什么需要重构表呢? 原因1:某张表存在大量的新增和删除操作,导致表经历过大量的…

JavaScript异常处理实战

前言 之前在对公司的前端代码脚本错误进行排查,试图降低 JS Error 的错误量,结合自己之前的经验对这方面内容进行了实践并总结,下面就此谈谈我对前端代码异常监控的一些见解。 本文大致围绕下面几点展开讨论: JS 处理异常的方式…

Keil 5 ARMCC编译错误和警告解释大全(2) 序列号1000-2000

1001:由 using 声明指定的类成员必须在直接基类中可见 1003:Sun 模式与 cfront 模式不兼容 1004:严格模式与 Sun 模式不兼容 1005:只有在编译 C 时才允许使用太阳模式 1006: 模板模板参数不能与其模板参数之一同名…

解决 Postman 报错问题:一份综合指南

Postman 是一个流行的 API 测试工具,它可以帮助开发者和测试人员快速地创建和发送各种 HTTP 请求,并查看响应结果。但是,在使用 Postman 的过程中,有时候会遇到一些报错或异常情况,影响了正常的测试流程。本文将介绍一…

图像分割-Grabcut法

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 本文的C#版本请访问:图像分割-Grabcut法(C#)-CSDN博客 GrabCut是一种基于图像分割的技术,它可以用于将图像…

上海东海职业技术学院低代码实训平台建设项目竞争性磋商公告

上海东海职业技术学院低代码实训平台建设项目竞争性磋商公告 招标|招标公告 上海市|闵行区 项目编号:0773-2340GNSHFWCS2823 招标单位:上海东海职业技术学院 代理单位:中金招标有限责任公司 预算金额:59万元 联系方式&…

Python:sqlalchemy报错DetachedInstanceError

sqlalchemy 对象commit之后再使用就会报错 DetachedInstanceError既然这样,提交后还需要使用,就拷贝一个副本出来 一个思路是 # -*- coding: utf-8 -*- """ File : sqlalchemy_util.py Date : 2024-01-07 Author : Peng Shiyu …

循环队列的队空队满情况

有题目: 循环队列放在一维数组A[0....M-1]中,end1指向队头元素,end2指向队尾元素的后一个位置。假设队列两端均可进行入队和出队操作,队列中最多能容纳M-1个元素。初始时为空。下列判断队空和队满的条件中,正确的是 …

vim/vi 模式切换和常用快捷键

vim/vi 切换模式: vim/vi 常用快捷键: 一般模式: gg:文件开头、G:文件结尾 shift^ :光标当前行首、shift^:光标当前行尾 yy:复制、p:粘贴、dd:删除当前行、…

CRM的request管理笔记

1 request类型 request有两种,device request和link request。 link request link req是对link进行精确控制。 link req是对每个link的请求,比如某一帧是否需要bubble recovery、某一帧是否需要长曝光等feature。device request 对一个设备进行每帧控制…

JDK 11:崭新特性解析

JDK 11:崭新特性解析 JDK 11:崭新特性解析1. HTTP Client(标准化)示例代码 2. 局部变量类型推断的扩展示例代码 3. 新的字符串方法示例代码 4. 动态类文件常量示例代码 5. Epsilon 垃圾收集器使用方式 结语 JDK 11:崭新…

MySQL数据库进阶-事务

事务 事务由单独单元的一个或多个SQL语句组成,在这 个单元中,每个MySQL语句是相互依赖的。而整个单独单 元作为一个不可分割的整体,如果单元中某条SQL语句一 旦执行失败或产生错误,整个单元将会回滚。所有受到影 响的数据将返回到…

导致服务器重启的原因都有哪些,要如何处理

计算机重启主要作用是保存对系统的设置和修改以及立即启动相关服务等。重新启动的最通常的理由是因为新软件或硬件的安装需要,或因为应用软件因为一些理由没有回应。有时候,一些站长或GM在租用使用服务器过程,有时会遇到自动重启的情况。由于…

现有网络模型的使用及修改(VGG16为例)

VGG16 修改默认路径 import os os.environ[TORCH_HOME] rD:\Pytorch\pythonProject\vgg16 # 下载位置太大了(140多G)不提供直接下载 train_set torchvision.datasets.ImageNet(root./data_image_net, splittrain, downloadTrue, transformtorchvis…

数据库原理与应用期末复习试卷2

数据库原理技术与应用 一.单项选择题 设有属性A,B,C,D,以下表示中不是关系的是( C) ​ A、R(A) B、R(A, B, C, D) C、R(AxBxCxD) D、R(A,B) 在SQL语言中的视图VIEW是数据库的(A)…

Informer:用于长序列时间序列预测的高效Transformer模型

最近在研究时间序列分析的的过程看,看到一篇精彩的文章,名为:《Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting》,特此撰写一篇博客。 文章主要研究了一种用于长序列时间序列预测的高效Trans…

继承和多态中的常见面试题(二)

1. 什么是多态? 多种形态,不同的对象来完成同一行为,会产生不同的行为或状态。多态的构成有两个条件:必须通过基类的指针或引用来调用虚函数;被调用的函数必须是虚函数,且派生类要对这个虚函数进行重写。 …

Windows:笔记本电脑设置休眠教程

前言 不知道大家在使用【Windows】笔记本有没有这个习惯,我会把他的电池选项的【休眠】设置进行打开。因为作为我们开发人员电脑一般是一周关一次机,有时候一个月关一次机。这时候【休眠】功能就给我们提供了一个好处,我们选择了【休眠】后电…