0%

《计算机组成原理》学习笔记(2)

《计算机组成原理》学习笔记。计算机中的信息表示。

信息在计算机中通常分为数据信息和控制信息两大类。数据信息又可分为数值型信息和非数值型信息;控制信息是控制计算机工作的信息。

数制

常用的数制有二进制,八进制,十进制,十六进制。

计算机使用的是只包含0和1的二进制。计算机中一个字节通常等于8位二进制。

二-十进制

二-十进制采用4位二进制数表示一位十进制数,这种编码方式又称为BCD(Binary Coded Decimal)码,又称为“8421码”。

进制转换

十进制整数转二进制整数

  1. 减权定位法
  2. 除基取余法

十进制小数转二进制小数

  1. 减权定位法
  2. 乘基取整法

无符号数和有符号数

计算机中的数,有两种用来计算的模式,即无符号数和有符号数。

无符号数

不含有符号位,每一位都用来保存数值。

有符号数

通常用最高位来表示符号位的数。可以用二进制的一个位来表示符号:0为“正”,1为“负”。

为了能让符号位也参加运算,需要将编码进行处理,构成了4种编码表示方式:原码,补码,反码和移码。

数的定点表示和浮点表示

计算机中根据小数点的位置是否固定,可以将计算机的数分为两大类,定点表示和浮点表示。

无符号定点整数

假设无符号定点整数由n+1位表示,则该整数的表示范围为 0~(2n+1-1)

带符号定点整数

带符号定点整数通常用补码来表示,也有用原码来表示的情况。

同样假设带符号定点整数由n+1位表示。

原码表示范围: -(2n-1)~2n-1

补码表示范围: -2n~2n-1

带符号定点小数

带符号位的定点小数是一个纯小数,可以用原码表示也可以用补码表示。

假设带符号定点小数的代码序列位: X0.X1X2…X

补码表示范围: -1~1-2n

定点数的表示方法简单,但在有限位数的表示中,范围和精度通常是不可兼得的。

浮点表示

浮点数是一种小数点位置可根据需求浮动的数。

N = ±RE ✖️M

上式中:N表示真值,M表示尾数,RE表示比例因子。

通常对于浮点格式,R是隐含约定固定不变的,因此浮点数的表达式中需要提供E与M两个部分(包括符号)。

E是阶码,可用补码或者移码的形式表示,M是尾数,可用补码或者原码的形式表示。

浮点数都是近似表示,精度由尾数决定,范围由R,E决定。为了能提高浮点数的精度,尽可能将有效为占满可用位,通常采用规格化的方式来表示,要求尾数满足条件:

1/R≤|M|<1

为了满足条件,通常采用两种方式,尾数数右移1位,阶码加1,这种方式称为右规;第二种是将尾数左移1位,阶码减1。

移码是专门用来表示浮点数阶码的码制。移码相当于将真值沿着数轴正方向平移2m,所以称为移码。用移码来表示阶码,能更容易地比较出阶码的大小。

IEEE 754 标准浮点格式

以32位浮点数为例,最高位S0是数符,接下来8位是阶码,采用的是移码表示,偏置为127,剩下的23位为尾数,是一个纯小数,数符已在代码的最高位表示。约定尾数的最高位位1,约定的最高位并不会出现在代码中,因此实际上尾数为24位。

字符数据表示

ASCII 码

美国信息交换标准码(American Standard Code for Information Interchange)简称ASCII 码。

汉字编码

GB 2312字符集,使用两个字节来表示一个汉字字符编码,收录6763个汉字,存储在一个94×94的矩阵中,矩阵的行称为区,列称为位,这样其中的一个汉字就可以称为处于某区某位中,与国际的交换码有简单的对应关系。

详细的内容请查阅相关资料。