第二章 运算方法和运算器

一、数据与文字的表示方法

1、数据格式

分为定点数的表示方法、浮点数的表示方法、十进制数串的表示方法三种。

(1)定点数的表示方法

1)表示对象:纯小数、纯整数
2)表示形式
Xn Xn-1 Xn-2 ... X1 X0
符号 量值(尾数)
3)小数点位置
纯小数:小数点位于符号位和尾数之间
纯整数:小数点位于尾数最右边
4)数的表示范围
纯小数:0<=|x|<=1-2^(-n)
纯整数:0<=|x|<=2^(n)-1
注意:-0.001将表示为1.001

(2)浮点数的表示方法

1)表示方法
把一个数的有效数字(精度)和的范围在计算机的一个存储单元中分别予以表示。
2)任意一个十进制数可写成N=10^E.M
同样在计算机中一个任意进制数可以写成N=R^e.M
浮点数的指数:e,是比例因子的指数。
基数:R
尾数:即M,是一个纯小数。决定浮点数表示的精度。
阶码:指数e,用整数表示,指明小数点在数据中的位置,决定了浮点数的范围。
3)一个机器浮点数的组成
阶符+阶码+数符+尾数
4)IEEE754标准下32位浮点数和64位浮点数的标准格式
32位(31~0):
(31) (30~23) (22~0)
S(1位) + E(8位) +M(23位)
64位(63~0):
(63) (62~52) (51~0)
S(1位) +E(11位) +M(52位)
其中S表示数符,E表示阶码,M表示尾数。
少了一位阶符用移码表示正负指数的方法解决。移码方法对两个指数大小比较和对阶操作都比较方便。具体方法如下:
E = e + 127。(传统移码加128(10000000),这里为了除去E用全0和全1表示真值为零和为无穷大的特殊情况加127(01111111))
5)浮点数的规格化
同一浮点数的表示是不唯一的,有多种小数点位置不同的表示形式。为了提高数据的表示精度,当尾数值不为0时,尾数域的最高有效位应为1,这称为浮点数的规格化。
6)在IEEE754标准下一个规格化的浮点数x的真值表示
x=(-1)^S * (1.M) * 2^(E-127)

(3)十进制数串的表示方法

1)字符串形式
一个字节存放一个十进制的数位
2)压缩的十进制数串形式
一个字节存放两个十进制的数位

2、数的机器码表示

数的机器码表示有原码、补码、反码、移码。

(1)正数x

原码、补码、反码、移码的形式都相同,为x

(2)负数x

定点小数
[x]原 = 1 - x =1 + |x|
[x]反 = (2 - 2^(-n)) + x
[x]补 = 2 + x = 2 - |x|
总结:[x]补 = [x]反 + 2^(-n)
定点整数
[x]原 = 2^n - x = 2^n + |x|
[x]反 = (2^(n + 1) - 1) + x
[x]补 = 2^(n + 1) + x
总结:[x]补 = [x]反 + 1

***简单的原码变补码的规律:原码从后往前看第一个一的右边位都求反,左边位不变。

移码的传统定义:[x]移 = 2^n + x -2^n<=x<=2^n
特点:移码和补码只有符号位不同

3.字符与字符串的表示方法

采用ASCII码(美国国家信息交换标准字符码)
它包括十进制数码,26个英文字母和一定数量的专用符号,如$,%,+,总共128个元素,因此二进制编码需要7位,加上一个偶校验位共8位。刚好一个字节。
ASCII码规定8个二进制位的最高一位为0,其余7位用来表示128个字符,其中95个编码可以显示,另外的33个字符(编码为0-31和127)被用作控制码。

ASCII码字母表如下:

第二章 运算方法和运算器_第1张图片

字符串占主存中的连续多个字节,每个字节存一个字符。
当主存字由2个或4个字节组成时,在同一个主存字中,既可按从低位字节向高位字节的顺序存放字符串内容,也可按从高位字节向低位字节的顺序存储字符串内容。

4.汉字的表示方法

1)汉字的输入编码
数字编码:常用的是国家区位码,区位码是将国家国家标准局公布的6763个两级汉字分为94个区,每个区分94位,实际上把汉字表示成二维数组,每个汉字在数组中的下标就是区位码。
拼音码:以汉语拼音为基础的输入方法。
字形编码:用汉字的形状进行编码。把汉字的笔画部件用字母或数字进行编码,按笔画的顺序依次输入,就能表示一个汉字。例如五笔字型编码。
还有词组输入联想输入等多种快速输入方法。

2)汉字内码
用于汉字信息的存储、交换、检索等操作的机内代码,一般采用两个字节表示。英文的机内代码是ASCII码,为了区别,中文汉字机内代码中两个字节的最高位用“1”表示。

3)汉字字模码(输出编码)
用点阵表示的汉字字形代码,是汉字的输出形式。
简易汉字为16*16点阵,提高形汉字为24*24点阵。以简易汉字为例,每个汉字占用32个字节,国标两级汉字要占用256k
字节,因此字模点阵只能用来构成汉字库,而不能用于机内存储。字库中存储每个汉字的点阵代码,当显示输出或打印输出时才检索字库,输出字模点阵,得到字形。

5.校验码

二、定点加法、减法运算

1.补码加法

假设采用定点小数表示

补码加法的公式:[x]补+[y]补 = [x+y]补 (mod 2)

补码加法的特定:
1)符号位作为数的一部分一起参加运算
2)超过模的进位要丢掉

2.补码减法

减法运算的公式:[x-y]补 = [x]补 - [y]补 = [x]补 + [-y]补

证明:
[x]补+[y]补 = [x+y]补 得
[y]补 = [x+y]补 - [x]补
[-y]补 = [x-y]补 - [x]补
可得[y]补 + [-y]补 = 0

注意:[-y]补 = ~[y]补 + 2^(-n)
[y]补做包括符号位在内的求反操作再在最末尾加1.

3.溢出概念与检测方法(符号位相同才有溢出)


4.基本的二进制加减法器

三、定点乘法运算

1.原码并行乘法
2.直接补码并行乘法

四、定点除法运算

1.原码除法算法原理
2.并行除法器





你可能感兴趣的:(专业课—计算机组成原理)