
上期回顾: 【计算机组成原理】计算机系统概述
个人主页:GUIQU.
归属专栏:计算机组成原理

目录
正文
1. 数据表示基础
1.1 数制及其转换
- 常用数制:
- 十进制(Decimal):日常生活中最常用的数制,采用 0 - 9 十个数字符号来表示数,逢十进一。例如,数字 25 表示 2 个十和 5 个一,其基数为 10。
- 二进制(Binary):计算机内部采用的基本数制,只有 0 和 1 两个数字符号,逢二进一。例如,二进制数 101 表示 1 个四(2²)、0 个二(2¹)和 1 个一(2⁰),其基数为 2。
- 八进制(Octal):采用 0 - 7 八个数字符号,逢八进一,基数为 8。例如,八进制数 37 表示 3 个八(8¹)和 7 个一(8⁰)。
- 十六进制(Hexadecimal):使用 0 - 9 以及 A - F(分别表示 10 - 15)十六个符号来表示数,逢十六进一,基数为 16。例如,十六进制数 2A 表示 2 个十六(16¹)和 10 个一(16⁰)。
- 数制转换方法:
- 十进制转二进制:常用的方法是除 2 取余法。例如,将十进制数 13 转换为二进制,过程如下:
13 ÷ 2 = 6 …… 余 1
6 ÷ 2 = 3 …… 余 0
3 ÷ 2 = 1 …… 余 1
1 ÷ 2 = 0 …… 余 1
从下往上将余数排列可得二进制数 1101。 - 二进制转十进制:采用位权展开法。例如,二进制数 1011 转换为十进制,计算为 (1×2³ + 0×2² + 1×2¹ + 1×2⁰ = 8 + 0 + 2 + 1 = 11)。
- 二进制与八进制、十六进制的转换:二进制转八进制是每 3 位二进制数对应 1 位八进制数,从右往左分组转换。例如,二进制数 110101 可分为 011 和 0101,对应的八进制数为 35。二进制转十六进制则是每 4 位二进制数对应 1 位十六进制数,同样从右往左分组,如二进制数 1101101 可分为 0110 和 1101,对应的十六进制数为 6D。
- 十进制转二进制:常用的方法是除 2 取余法。例如,将十进制数 13 转换为二进制,过程如下:
1.2 数据的编码表示
- 原码:
- 原码是一种简单直观的机器数表示法,最高位为符号位(0 表示正数,1 表示负数),其余位表示数值的绝对值。例如,对于 8 位二进制原码,+5 的原码表示为 00000101,-5 的原码表示为 10000101。
- 原码的优点是简单易懂,缺点是在进行加减法运算时,需要单独处理符号位,运算规则相对复杂,并且会出现 +0 和 -0 有不同表示形式(在 8 位原码中,+0 表示为 00000000,-0 表示为 10000000)等问题。
- 反码:
- 正数的反码与原码相同,负数的反码是在原码的基础上,除符号位外,其余各位按位取反。例如,8 位二进制中,+5 的反码是 00000101,-5 的反码是 11111010。
- 反码在一定程度上为后续的补码运算做了铺垫,但同样存在 +0 和 -0 表示不同(+0 反码为 00000000,-0 反码为 11111111)等问题,运算时也不够简洁高效。
- 补码:
- 正数的补码与原码相同,负数的补码是在其反码的基础上加 1。例如,在 8 位二进制下,+5 的补码是 00000101,-5 的补码是 11111011(先求 -5 的反码 11111010,再加 1 得到补码)。
- 补码的优势在于可以将减法运算转化为加法运算,简化了计算机的运算电路设计,并且解决了 +0 和 -0 表示不一致的问题(在补码中,+0 和 -0 的补码都是 00000000),是计算机中最常用的有符号数表示方式。
- 移码:
- 移码常用于表示浮点数的阶码,它是在补码的基础上,将符号位取反得到的。例如,对于 8 位二进制数,若补码为 10000000,则移码为 00000000。
- 移码的特点是便于比较大小,并且可以直观地反映出数的大小顺序,常用于计算机中对浮点数阶码的处理等场景。
2. 定点数的表示与运算
2.1 定点数的表示
- 定点整数:
- 小数点固定在数的最右边,即所有数位都表示整数部分。例如,在 8 位二进制定点整数表示中,如果约定最高位为符号位,那么能表示的数值范围是(-(2⁷) )到(2⁷ - 1),即 -128 到 127。
- 常用在一些只需要处理整数的应用场景中,比如计数器、学号编码等,计算机内部会按照相应的编码规则(如原码、补码等)来存储和处理这些定点整数。
- 定点小数:
- 小数点固定在符号位之后,也就是最高位是符号位,后面的数位表示小数部分。例如,对于 8 位二进制定点小数,若按补码表示,能表示的数值范围有所不同,其绝对值最大的正数是 (0.1111111)(对应十进制的接近 1 的小数),绝对值最大的负数是(-0.0000001)等。
- 常用于一些对精度要求不是特别高的小数处理场景,比如一些简单的比例系数、概率值等的表

最低0.47元/天 解锁文章
1391

被折叠的 条评论
为什么被折叠?



