编程初学者必备的基础知识 怎么学编程基础入门( 二 )


计算机要处理的信息是多种多样的 , 如十进制数、文字、符号、图形、音频、视频等 , 这些信息在人们的眼里是不同的 。但对于计算机来说 , 它们在内存中都是一样的 , 都是以二进制的形式来表示 。
要想学习编程 , 就必须了解二进制 , 它是计算机处理数据的基础 。
内存条是一个非常精密的部件 , 包含了上亿个电子元器件 , 它们很小 , 达到了纳米级别 。这些元器件 , 实际上就是电路;电路的电压会变化 , 要么是 0V , 要么是 5V , 只有这两种电压 。5V 是通电 , 用 1 来表示 , 0V 是断电 , 用 0 来表示 。所以 , 一个元器件有 2 种状态 , 0 或者 1 。
我们通过电路来控制这些元器件的通断电 , 会得到很多 0、1 的组合 。例如 , 8 个元器件有 28=256 种不同的组合 , 16 个元器件有 216=65536 种不同的组合 。虽然一个元器件只能表示 2 个数值 , 但是多个结合起来就可以表示很多数值了 。
我们可以给每一种组合赋予特定的含义 , 例如 , 可以分别用 1101000、00011100、11111111、00000000、01010101、10101010 来表示 C、语、言、中、文、网 这几个字 , 那么结合起来 1101000 00011100 11111111 00000000 01010101 10101010 就表示”C 语言中文网“ 。
一般情况下我们不一个一个的使用元器件 , 而是将 8 个元器件看做一个单位 , 即使表示很小的数 , 例如 1 , 也需要 8 个 , 也就是 00000001 。
1 个元器件称为 1 比特(Bit)或 1 位 , 8 个元器件称为 1 字节(Byte) , 那么 16 个元器件就是 2Byte , 32 个就是 4Byte , 以此类推:

  • 8×1024 个元器件就是 1024Byte , 简写为 1KB;
  • 8×1024×1024 个元器件就是 1024KB , 简写为 1MB;
  • 8×1024×1024×1024 个元器件就是 1024MB , 简写为 1GB 。
现在 , 你知道 1GB 的内存有多少个元器件了吧 。我们通常所说的文件大小是多少 KB、多少 MB , 就是这个意思 。
单位换算:
  • 8 Bit = 1Byte
  • 1024Byte = 1KB
  • 1024KB = 1MB
  • 1024MB = 1GB
  • 1024GB = 1TB
你看 , 在内存中没有 abc 这样的字符 , 也没有 gif、jpg 这样的图片 , 只有 0 和 1 两个数字 , 计算机也只认识 0 和 1 。所以 , 计算机使用二进制 , 而不是我们熟悉的十进制 , 写入内存中的数据 , 都会被转换成 0 和 1 的组合 。三、ASCII 与 Unicode 编码
这是经常容易混淆的一个点 。
ASCII 码
我们知道 , 一个二进制位(Bit)有 0、1 两种状态 , 一个字节(Byte)有 8 个二进制位 , 有 256 种状态 , 每种状态对应一个符号 , 就是 256 个符号 , 从 0000000 到 11111111 。
计算机诞生于美国 , 早期的计算机使用者大多使用英文 , 上世纪 60 年代 , 美国制定了一套英文字符与二进制位的对应关系 , 称为 ASCII 码 , 沿用至今 。
ASCII 码规定了 128 个英文字符与二进制的对应关系 , 占用一个字节(实际上只占用了一个字节的后面 7 位 , 最前面 1 位统一规定为 0) 。例如 , 字母 a 的的 ASCII 码为 01100001 , 那么你暂时可以理解为字母 a 存储到内存之前会被转换为 01100001 , 读取时遇到 01100001 也会转换为 a 。

推荐阅读