《C++ Primer》读书笔记-第二章 01 数据的内存表示

来源:互联网 发布:淘宝亲宝贝什么意思 编辑:程序博客网 时间:2024/06/07 02:34
作者:马志峰
链接:https://zhuanlan.zhihu.com/p/23283793
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

声明:

  • 文中内容收集整理自《C++ Primer 中文版 (第5版)》,版权归原书所有。
  • 原书有更加详细、精彩的释义,请大家购买正版书籍进行学习。
  • 本文仅作学习交流使用,禁止任何形式的转载

数据的内存表示

地址------ 内存

736424 --- 0 0 1 1 1 0 1 1

736425 --- 0 0 0 1 1 0 1 1

736426 --- 0 1 1 1 0 0 0 1

736427 --- 0 1 1 0 0 1 0 0

比特(bit)

  • Binary digit的缩写
  • 计算机以比特序列存储数据,每个比特序列非0即1, 上面的每个0或1都代表一个比特

  • 和比特的含义相同。
  • 通常所说的32位计算机是指CPU的一个机器周期内可以处理32位二进制数据,也就是32位,或32比特

字节(byte)

  • 大多数计算机以2的整数次幂个比特作为块来处理内存。
  • 可寻址的最小内存块称为“字节”。 比如上面地址736424对应的 0 0 1 1 1 0 1 1 就是一个字节的内存。
  • 大多数机器的字节由8比特构成

字(word)

  • 存储的基本单元
  • 一个字的位数(即字长)是计算机系统结构中的一个重要特征
  • 多数寄存器的尺寸是一个字长
  • CPU和内存之间的数据传送单位通常是一个字长
  • 前面提到的32位计算机,也就是一个字长为32bit

1T、1G、1M、1KB

  • 1B(byte,字节)
  • 1KB = 1024B
  • 1MB = 1024KB
  • 1GB = 1024MB
  • 1TB = 1024GB

大多数计算机将内存中的每个字节与一个数字(内存地址)关联起来

上面的图表中,左侧是字节的地址,右侧是字节中8比特的具体内容

为了赋予内存中某个地址明确的含义,必须首先知道存储在该地址的数据的类型。
类型决定了数据所占的比特数以及该如何解释这些比特的内容

0 0