信息在计算机内的表示
信息在计算机内的表示
- 信息在计算机内的表示
-
- [1. 信息表示的基本概念](#1. 信息表示的基本概念)
- [2. 数在计算机内的表示](#2. 数在计算机内的表示)
-
- [2.1 无符号数的表示](#2.1 无符号数的表示)
- [2.2 有符号数的表示(重点)](#2.2 有符号数的表示(重点))
-
- [2.2.1 原码 (Sign-Magnitude)](#2.2.1 原码 (Sign-Magnitude))
- [2.2.2 反码 (Ones' Complement)](#2.2.2 反码 (Ones' Complement))
- [2.2.3 补码 (Two's Complement)](#2.2.3 补码 (Two's Complement))
- [2.3 三种编码对比表(以8位为例)](#2.3 三种编码对比表(以8位为例))
- [2.4 求补运算](#2.4 求补运算)
- [2.5 补码的加减运算](#2.5 补码的加减运算)
- [3. 西文字符的ASCII码表示](#3. 西文字符的ASCII码表示)
-
- [3.1 ASCII码简介](#3.1 ASCII码简介)
- [3.2 ASCII码表重要部分](#3.2 ASCII码表重要部分)
学习目标
- 了解信息在计算机中的表示方法
- 掌握有符号数的原码、反码和补码表示
- 掌握西文字符的ASCII码表示
1. 信息表示的基本概念
计算机内部所有信息(数字、文字、图像、声音等)最终都以二进制形式表示。二进制系统只使用两个数字:0和1,对应电路中的低电平和高电平状态。
为什么使用二进制?
- 可靠性高:只有两种状态,抗干扰能力强
- 实现简单:用开关电路即可表示
- 运算规则简单:逻辑运算易于实现
- 与逻辑代数对应:便于进行逻辑设计
2. 数在计算机内的表示
2.1 无符号数的表示
无符号数就是非负数,直接使用二进制表示。
示例:8位二进制表示范围
- 最小值:0000 0000₂ = 0₁₀
- 最大值: 1111 1111₂ = 255₁₀
2.2 有符号数的表示(重点)

有符号数需要表示正负,计算机中常用三种表示方法:
2.2.1 原码 (Sign-Magnitude)

- 规则:最高位为符号位,0表示正数,1表示负数,其余位表示数值的绝对值
- 示例 (8位):
- +5 的原码:0000 0101
- -5 的原码: 1000 0101
- 特点 :
- 原码表示范围为-(2n-1-1)~+(2n-1-1)。
- -0和+0的编码不一样。0有两种表示:+0 (0000 0000) 和 -0 (1000 0000)
【例】求+76、-45的源码(机器字长为8位)。
因为
|+76| =76 = 100 1100B
| -45| =45 = 10 1101B
所以
+76原 = 0100 1100B
-45原 = 1010 1101B
2.2.2 反码 (Ones' Complement)

- 规则 :
- 正数:与原码相同
- 负数:符号位为1,数值部分按位取反
- 示例 (8位):
- +5 的反码:0000 0101
- -5 的反码:1111 1010
- 特点 :
- 表示范围为-(2n-1-1)~+(2n-1-1)。
- 0有两种表示:+0 (0000 0000) 和 -0 (1111 1111)
- 减法可以转换为加法,但需要处理循环进位
【例】求+76、-45的返码(机器字长为8位)。
因为
+76原 = 0100 1100B
-45原 = 1101 0010B
所以
+76返 = 0100 1100B
-45返 = 1010 1101B
2.2.3 补码 (Two's Complement)

- 规则 :
- 正数:与原码相同
- 负数:反码 + 1
- 示例 (8位):
- +5 的补码:0000 0101
- -5 的补码:
- 先求绝对值5的原码:0000 0101
- 按位取反:1111 1010(反码)
- 加1:1111 1011(补码)
- 特点 :
- 0只有一种表示:0000 0000
- 减法可以完全转换为加法,无需特殊处理
- 表示范围不对称:-128 ~ +127(8位),表示范围为-(2n-1)~+(2n-1-1)。
- 是现代计算机中整数表示的标准方法
【例】求+76、-45的补码(机器字长为8位)。
因为
+76原 = 0100 1100B
-45原 = 1101 0010B
所以
+76补 = 0100 1100B
-45补 = 1010 1101B+1 =1101 0011B
2.3 三种编码对比表(以8位为例)
| 十进制数 | 原码 | 反码 | 补码 |
|---|---|---|---|
| +127 | 0111 1111 | 0111 1111 | 0111 1111 |
| +1 | 0000 0001 | 0000 0001 | 0000 0001 |
| +0 | 0000 0000 | 0000 0000 | 0000 0000 |
| -0 | 1000 0000 | 1111 1111 | 无 |
| -1 | 1000 0001 | 1111 1110 | 1111 1111 |
| -127 | 1111 1111 | 1000 0000 | 1000 0001 |
| -128 | 无法表示 | 无法表示 | 1000 0000 |
2.4 求补运算
一个二进制数,符号位和数值位一起取反,末位加1。
特点: X补 →求补→ -X补
【例】已知-45的补码为 0010 1101B,用求补运算求-45的补码。
因为
45补 →求补→ -45补
所以
-45补 =1101 0010B + 1 = 1101 0011B
2.5 补码的加减运算








3. 西文字符的ASCII码表示
3.1 ASCII码简介
ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是最常用的字符编码标准。
基本特性:
- 使用7位二进制表示(实际存储用8位,最高位为0)
- 共128个字符(0~127)
- 包括:控制字符(0~31)、数字、大写字母、小写字母、标点符号
3.2 ASCII码表重要部分
| 十进制 | 十六进制 | 字符 | 说明 |
|---|---|---|---|
| 0 | 0x00 | NUL | 空字符 |
| 48 | 0x30 | '0' | 数字0 |
| 49 | 0x31 | '1' | 数字1 |
| ... | ... | ... | ... |
| 65 | 0x41 | 'A' | 大写字母A |
| 66 | 0x42 | 'B' | 大写字母B |
| ... | ... | ... | ... |
| 97 | 0x61 | 'a' | 小写字母a |
| 98 | 0x62 | 'b' | 小写字母b |
| ... | ... | ... | ... |
总结:
掌握信息在计算机中的表示方法是理解计算机工作原理的基础,也是后续学习数据结构、操作系统、编译原理等课程的重要前提。