计算机组成
🌸 您好,欢迎您的阅读,等君久矣,愿与君畅谈.
🔭 § 始于颜值 § 陷于才华 § 忠于人品 §
📫 希望我们可以进一步交流,共同学习,共同探索未知的技术世界 稀土掘金 OR GitHub.
# 存储形式
- 真值:带有符号的数,如 - 1、+1、+2 等
- 机器数 (符号数字化的数,计算机中定点数分为有符号数和无符号数)
- 有符号数 (使用原码、反码、补码三种方式来表示定点整数和定点小数,使用移码只能表示定点整数)
- 原码
- 原码就是二进制定点表示法,即最高位为符号位,“0” 表示正,“1” 表示负,其余位表示数值的大小
- 表示范围:8 位二进制位表示范围是 - 127~+127
- 数 0 的原码有两种形式:
- [+0] 原 = 00000000B
- [-0] 原 = 10000000B
- 反码
- 正数的反码与其原码相同;负数的反码是符号位不变,对其原码逐位取反
- 表示范围:8 位二进制反码的表示范围:-127~+127
- 数 0 的反码有两种形式:
- [+0] 反 = 00000000B
- [-0] 反 = 11111111B
- 补码
- 模的概念,补数的概念,如 8 位二进制数,其模数为 256,计算机中两个互补的数称为补码
- 正数的补码与其原码相同;负数的补码是在其反码的末位加 1,符号为 1
- 表示范围:8 位二进制位表示范围是 - 127~+127
- 与原码、反码不同,数值 0 的补码只有一个,[+0] 补 =[-0] 补 = 00000000B
- 进行补码运算时,应注意所得结果不应超过补码所能表示数的范围
- 采用补码后,可以方便地将减法运算转化成加法运算,运算过程得到简化。正数的补码即是它所表示的数的真值,而负数的补码的数值部份却不是它所表示的数的真值。采用补码进行运算,所得结果仍为补码
- 二进制补码转换原码技巧:从最右边开始,遇到第一个 1 后,出符号为不变,其余位取反即可得到原码
- 移码
- 将符号位取反的补码 (不区分正负)
- 表示范围:8 位二进制位表示范围是 - 127~+127
- 数值 0 的移码只有一个,[+0] 移 =[-0] 移 = 00000000B
- 原码
- 无符号数
- 相对有符号数而言,指的是整个机器字长的全部二进制位均表示数值位,相当于数的绝对值,因为只能表示非负数也就是 0 和正数
- 计算机中无符号数没有原码、反码、补码、移码
- 有符号数 (使用原码、反码、补码三种方式来表示定点整数和定点小数,使用移码只能表示定点整数)
# 进制转化
- 二进制 (0、1 组成)
- 二进制转八进制:3 位一组,一组对应一个八进制数字
- 任意进制转十进制:采用 r 进制计数法每个位数的基数 × 该进制的位权次幂依次相加即可
- 二进制转十六进制:4 位一组,,一组对应一个十六进制数字
- 八进制 (0~7 组成)
- 八进制转二进制:每一个八进制数字对应 3 个二进制数字
- 十进制 (0~9 组成)
- 十进制转任意进制
- 除 x 取余倒排法 (x 代表进制数)
- 拼凑法 (记忆一个表格)
- 十进制转任意进制
- 十六进制 (09、AF 组成)
- 十六进制转二进制:每一个十六进制数字对应 4 个二进制数字
计算机组成
http://example.com/2020/05/04/D001_计算机组成/