数据是:如何在 ”内存“中的 ”存“ 和 ”取“ 的
数据是:如何在 ”内存“中的 ”存“ 和 ”取“ 的
每博一文案
人生就像一趟单程的列车,一旦出发就无法再回到最开始的地方而幸福。
其实就像你握在手中的水果硬糖。
虽然毫不起眼,没有华丽的包装,
却能给你最甜蜜的梦想,何必总迷恋着看似美好却不真实的远方,最值得珍惜的就在你的身旁,
珍惜所拥有的时光,不要把人生交给所谓的来日方长。—————————— 一禅心灵庙语
文章目录
- 数据是:如何在 ”内存“中的 ”存“ 和 ”取“ 的
- 每博一文案
- 数据的 ” 存 “
- 补码
- 大小端的存放
- 数据的 ” 取 “
- 数据的截断
- 最后
#include<stdio.h>
int main()
{unsigned int num = -10;printf("%d\n", num);printf("%u\n", num);
}
结果:
数据的 ” 存 “
- 首先我们明白所有的数据,都是要存放到内存当中才可以被运行使用的
- 而数据在内存中都是以**二进制 ( 1, 0 )**的方式存入的,所以数据在存入(加载)到内存时,就已经转化为了二进制了 ,就是说:数据存放的时候与数据自定义的是什么类型(int , unsigned) 无关, 而是与数据本身的类型(正,负)有关
- 数据存放到内存当中是以二进制——>补码 的形式存入的
补码
- 一个无符号位(+正数)的 原码=反码=补码
- 一个负数就需要原码!=反码!=补码 ,需要一定的转化
- 补码的产生方式:
为什么是补码:
在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理
同时,加法和减法也可以统一处理,这样我们就只需要一个CPU加法器 ,大大减少了成本,此外,补码与原码相互转换,其运算过程是相同的 (补码转原码:同样可以1.取反,2.反码+1,得到原码),因此也不需要额外的硬件电路,减少了成本的消耗。
大小端的存放
CPU访存的基本单位是字节
数据按照字节,是有:高权值位和低权值位之分的
内存按照字节是又:高地址和低地址 之分的
- 按照字节为单位低权值放在低地址处 ,就叫小端存储,为了方便记忆,我们可以记为**(小小小)**
- 这里的第一个小的意思是:低权值,第二个小的意思是: 低地址处,第三个小的意思是:小端
- 按照字节为单位 低权值 放在 高地址处 ,就叫大端存储
数据的 ” 取 “
- 我们数据是如何存放的,数据就是如何取出的,如果存取不一致的话,就会导致数据的不正确,当然,数据的取出对于用户来说是透明的 (就是用户是无法看见的,也无需关心的,系统会帮你做好)
- 数据取得要点:
- 看数据大小端的,存放
- 看数据的类型,判断取数据的范围是否存在 截断 的情况出现
- 看数据的类型,判断数据的**(signed,unsigned)** 符号的有无:
- 无符号:补码就是原码(显示的),直接将二进制转化为对应的(十进制,十六进制等等)
- 有符号:就需要把补码——>(转化为)原码(方法和转补码一样)具体的可以参考
数据是:如何在 ”内存“中的 ”存“ 和 ”取“ 的相关推荐
- java 将数据加载到内存中_java 将数据加载到内存中的操作
将数据加载到内存中 1.建立InitListener.java package app.util; import java.util.HashMap; import java.util.Map; im ...
- 数据藏在json文件中,如何爬取---以王者荣耀官网为例
此前写了一个爬虫基础案例---爬取王者荣耀英雄与技能介绍 python爬虫------王者荣耀英雄及技能爬取并保存信息到excelhttps://blog.csdn.net/knighthood200 ...
- 数据是如何在内存中存储的?
●
- sql oltp_内存中的OLTP系列– SQL Server 2014上的数据迁移指南过程
sql oltp In this article we will review migration from disk-based tables to in-memory optimized tabl ...
- ffmpeg 从内存中读取数据(或将数据输出到内存)
更新记录(2014.7.24): 1.为了使本文更通俗易懂,更新了部分内容,将例子改为从内存中打开. 2.增加了将数据输出到内存的方法. 从内存中读取数据 ffmpeg一般情况下支持打开一个本地文件, ...
- 【C进阶】第十篇——数据在内存中的存储
数据类型的介绍 类型的基本归类 整型在内存中的存储 原码,反码,补码 大小端介绍 什么是大小端 为什么有大端和小端? 判断当前机器的字节序 浮点型在内存中的存储 例题引入 浮点数的存 浮点数的取 浮点 ...
- 09数据在内存中的存储
此篇博客带大家具体了解了C语言整形和浮点型在内存中的存储情况,通过这篇博客我们将会对内存有进一步的了解. 文章目录 一.回顾数据类型 1.1类型的基本归类 二.整形在内存中的存储 2.1原码.反码和补 ...
- 我们仍未知道那天所见的数据是怎么存放在内存中的
文章目录 前言 一.数据在内存中的存储 1.基础 (1)推导中使用的调试操作 (2)大小端的概念 (3)整形在内存中的存储 2.浮点型在内存中的存储 二.基本数据类型 1.指针中的简单应用 2.整型提 ...
- android 单例存储,Android 单例在内存中存储数据
开发中我们有时候需要在APP运行中存储一些数据,存储在内存中,这时候创建一个单例就非常方便,我只做为笔记发布,大家随意看看 public class Singleton { //单例模式实例 priv ...
最新文章
- IDEA IntelliJ 如何设置web项目的热部署
- 用supervisord管理杂乱的服务
- web开发(二十一)之自定义拦截器的使用
- 关于php无字母代码的研究
- C语言指针-从底层原理到花式技巧,用图文和代码帮你讲解透彻
- C4C微信集成 - agent在C4C系统回复,微信用户在微信端直接收到
- 改进初学者的PID-采样时间
- Java调用浏览器打开指定页面的5种方法(最全)
- 如何自己找数据分析项目来做?
- 阿里云发布聆听平台 全球招募300位MVP
- top 并grep 特定信息打印至txt
- 冒泡排序c++_学习笔记-详解冒泡排序
- 计算机网络基础孟敬pdf,马来西亚主要统计指标数据.pdf
- 桌面窗口管理器占用内存过高 - 解决方案
- 数据可视化(全彩)(大数据丛书,首次全面细致地梳理了可视化理论,方法、工具与应用案例。马匡六教授、石教英教授鼎力推荐,十二五国家重点图书出版规划项目)
- 如何用电脑录制一个解说视频
- 【PCIe 5.0 - 1】PCIe Link属性
- 牛客网计算机考研机试真题-abc
- 数海信息集团CEO刘志欣2022年新年致辞:踔厉奋发 数智领航
- log4j-slf4j-impl cannot be present with log4j-to-slf4j
热门文章
- java 将数据加载到内存中_java 将数据加载到内存中的操作