第二章 运算方法和运算器
2017-03-06 23:34
232 查看
一、数据与文字的表示方法
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码字母表如下:
字符串占主存中的连续多个字节,每个字节存一个字符。
当主存字由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.并行除法器
相关文章推荐
- 第二章 运算方法和运算器笔记简记
- 运算方法与运算器
- Chapter2 运算方法与运算器
- 【计算机组成原理】第2章 运算方法和运算器
- 计算机组成复习——运算方法与运算器
- 计算机组成原理:运算方法和运算器
- 运算方法和运算器
- 运算方法和运算器
- java关于日期的运算等处理方法
- 位运算方法将正整型数据转换为二级制
- MySQL 中 集合的差的 运算 方法
- essential c++ 基于第二章的内容采用面向过程的方法实现猜字游戏的基本实现代码
- 详解对密码执行散列和 salt 运算方法
- 两个变量值交换 异或运算实现方法
- 基于ARM的除法运算方法集锦
- C#实现后台大量运算并刷新控件的方法
- 第二章 定制方法
- C# 写的 CPU 浮点运算测试工具.并且还有获取CPU种种数据的方法(图)(代码)
- [jsp]java关于日期的运算等处理方法
- java关于日期的运算等处理方法