当前位置: 首页 > news >正文

详解存储单位、内存寻址及数据存储方式

在计算机领域,存储单位、内存寻址能力以及数据存储方式是基础且重要的概念。本文将系统梳理存储单位体系,深入解析32位/64位系统的寻址能力,并介绍数据在内存中的存储形式。

 

一、存储单位体系

 

计算机中存储单位从最小到最大依次为:

 

- bit(位):最小的存储单位,只能表示0或1,是计算机数据的最小单位。

- B(字节):内存的基本单位,1字节=8位(1B=8bit),可表示一个字符(如字母、数字)。

- KB(千字节):1KB=1024B

- MB(兆字节):1MB=1024KB

- GB(吉字节):1GB=1024MB

- TB(太字节):1TB=1024GB

- PB(拍字节):1PB=1024TB

- EB(艾字节):1EB=1024PB

- ZB(泽字节):1ZB=1024EB

- YB(尧字节):1YB=1024ZB

 

这些单位均遵循1024进制递进,用于衡量不同规模的存储容量(如内存大小、硬盘空间等)。

 

二、内存与存储的物理载体

 

存储可分为临时存储(内存)和永久存储(外存),对应不同的物理载体:

 

1. 临时存储(内存)

 

- 物理载体:内存条、寄存器等

- 特性:断电后数据丢失,速度快,用于临时存放CPU正在处理的数据

- 类型:RAM(随机存取存储器),数据以二进制形式(如 01010110 )存储在内存地址中(如 0x01 、 0x02 等)

 

2. 永久存储(外存)

 

- 物理载体:硬盘、U盘、CD、磁带等

- 特性:断电后数据不丢失,速度较慢,用于长期保存数据

- 类型:ROM(只读存储器)及各类可读写存储设备

 

三、内存寻址能力解析

 

内存寻址能力由系统位数决定,指针作为指向内存地址的变量,其位数直接影响可访问的内存范围。

 

1. 32位系统(x86)

 

- 指针位数:32位,指针的二进制形式如  pointer = 10010101 10010101 10010101 10010101 

- 寻址原理:32位指针可表示的地址数量为2³²个(每个地址对应1字节)

- 计算过程:

2³²字节 = 4294967296字节 = 4GB(因为1GB=1024³字节,4294967296 ÷ 1024³ = 4)

- 实际限制:理论寻址能力为4GB,但由于系统需预留部分地址用于硬件映射,实际可用内存略小于4GB

 

2. 64位系统(x64)

 

- 指针位数:64位

- 寻址能力:2⁶⁴字节 = 2³⁴GB(远超当前实际需求,目前硬件暂未完全支持64位的理论上限)

 

3. 扩展:128位系统(理论)

 

- 理论寻址能力为2¹²⁸字节,可支持的存储容量极大,目前仅存在于理论研究中。

 

四、数据在内存中的存储形式

 

数据在内存中以二进制存储,且存在字节序(大小端)的差异。

 

1. 基本数据类型的存储

 

以 int 类型为例(通常占4字节):

定义 int a = 1 ,其二进制表示为 00000001 00000000 00000000 00000000 (4字节),在内存中存储为 01 00 00 00 (按字节拆分)。

 

2. 字节序(大小端存储)

 

- 小端存储(计算机常用):低位字节存于低地址,高位字节存于高地址。

如 int a=1 在内存中存储为 01 00 00 00 (低地址到高地址)。

- 大端存储(符合人类习惯):高位字节存于低地址,低位字节存于高地址。

如 int a=1 在内存中存储为 00 00 00 01 (低地址到高地址)。

 

总结

本文梳理了从bit到YB的存储单位体系,解析了32位系统4GB寻址能力的由来(2³²字节=4GB),并介绍了内存与外存的区别及数据存储的字节序问题。这些基础概念是理解计算机工作原理的关键,尤其在内存管理、数据处理等场景中应用广泛。

http://www.lryc.cn/news/581343.html

相关文章:

  • stm32达到什么程度叫精通?
  • jxWebUI--前端联动计算
  • Linux内核深度解析:IPv4策略路由的核心实现与fib_rules.c源码剖析
  • Spring boot之身份验证和访问控制
  • Day52 神经网络调参指南
  • Policy Gradient【强化学习的数学原理】
  • elementui表格增加搜索功能
  • 供应链管理学习笔记4-供应链网络设计
  • 【MySQL进阶】错误日志,二进制日志,mysql系统库
  • 每日算法刷题Day42 7.5:leetcode前缀和3道题,用时2h
  • Android PNG/JPG图ARGB_8888/RGB_565‌解码形成Bitmap在物理内存占用大小的简单计算
  • WPF学习笔记(25)MVVM框架与项目实例
  • Kali Linux Wifi 伪造热点
  • LLM:位置编码详解与实现
  • 通过 Windows 共享文件夹 + 手机访问(SMB协议)如何实现
  • Git 版本控制完全指南:从入门到精通
  • 2025年3月青少年电子学会等级考试 中小学生python编程等级考试三级真题答案解析(判断题)
  • 如何解决Spring Boot中@Valid对List校验失效问题
  • Kafka消息积压的多维度解决方案:超越简单扩容的完整策略
  • 南山科技园的步行
  • LangChain:向量存储和检索器(入门篇三)
  • 利用已有的 PostgreSQL 和 ZooKeeper 服务,启动dolphinscheduler-standalone-server3.1.9 镜像
  • CppCon 2018 学习:Standard Library Compatibility Guidelines (SD-8)
  • 【Elasticsearch】检索排序 分页
  • 大数据学习1:Hadoop单机版环境搭建
  • 标定系列(三):lidar-gnss标定
  • 自动化Prompt生成平台的研发体系设计
  • pytorch学习-11卷积神经网络(高级篇)
  • VS Code中使用Git的方法:环境配置与Git操作
  • JavaFX:观察者集合(Observable Collections)的监听事件处理