计算机组成原理--数据格式与机器码

时间:2020-02-26 15:32:38   收藏:0   阅读:310

数据格式

计算机中使用的数据可分成两大类:

计算机数字和字符的表示方法应有利于数据的存储、加工(处理)、传送;

编码:用少量、简单的基本符号,选择合适的规则表示尽量多的信息,同时利于信息处理(速度、方便)

进制转换

这个一般都不是问题,但二进制小数转十进制我忘了,所以在这复习一下

例如将0.11101转为十进制那么应该这样做:0*2^(0)+ 1*2^(-1)+1*2^(-2)+1*2^(-3)+ 0*2^(-4)+1*2^(-5)

计算机在数据、文字的表示方式时,应该考虑一下几个因素:

定点表示

所有数据的小数点位置固定不变,理论上位置可以任意,但实际上将数据表示有两种方法(小数点位置固定-定点表示法/定点格式):纯小数和纯整数,然后又分带符号不带符号

定点纯小数
技术图片

技术图片

定点纯整数
技术图片

定点表示法的特点:

因为要表示实数(包括小数和整数),所以引入浮点数

浮点表示:小数点位置随阶码不同而浮动
技术图片

机器中表示
技术图片

IEEE754标准(规定了浮点数的表示格式,运算规则等)规则规定了单精度(32)和双精度(64)的基本格式,规则中,尾数用原码,指数用移码(便于对阶和比较)

IEEE754标准

E: 阶码位数,决定数据的范围,M: 尾数位数,决定数的精度

技术图片

指数采用偏移值,其中单精度偏移值为127,双精度为1023,将浮点数的阶码值变成非负整数,便于浮点数的比较和排序

技术图片

技术图片

机器数的特点

技术图片

原码:表示简单,运算复杂:符号位不参加运算,要设置加法、减法器,0的表示不唯一,不能直接判定是执行加法还是减法运算,分同号和异号

反码:表示相对原码复杂,运算相对原码简单:符号位参加运算, 只需要设置加法器,但符号位的进位位需要加到最低位,0的表示不唯一

补码:表示相对原码复杂,运算简单:只需设置加法器,0的表示唯一

移码(增码):
技术图片

技术图片

BCD码

表示一位十进制数的二进制码的每一位有确定的权。一般用8421码,其4个二进制码的权从高到低分别为8、4、2和1。用0000,0001,…,1001分别表示0,1,…,9,每个数位内部满足二进制规则,而数位之间满足十进制规则,故称这种编码为“以二进制编码的十进制(binary coded decimal,简称BCD)码”

在计算机内部实现BCD码算术运算,要对运算结果进行修正,对加法运算的修正规则是:
如果两个一位BCD码相加之和小于或等于(1001),即(9),不需要修正;如相加之和大于或等于(10),要进行加6修正,并向高位进位,进位可以在首次相加(例3.10③)或修正时产生

技术图片

码值转换

技术图片

技术图片

技术图片

补码是在“模”和“同余”的概念下导出的。

“模”是指一个计量系统的计量范围,即产生“溢出”的量。

技术图片

5-2=5+10     (MOD  12)
   5+(-2)=5+10  (MOD 12)
   -2=10         (MOD 12)

可以说:在模为12的情况下,-2的补码 就是10。 一个负数用其补码代替,同样可以得到正确的运算结果。

1、一个负数可用它的正补数来代替,而这个正数可以用模加上负数本身求得。

2、一个正数和一个负数互为补数时,它们绝对值之和即为模数。

进一步结论:

技术图片

技术图片

补码性质:高位表明正负,正数补码,尾数与原码相同,范围-2^n~2^n-1(定点整数)

技术图片

技术图片

技术图片

由原码求补码的简便原则:除符号位以外,其余各位按位取反,从最低位开始遇到的第一个1及右边的各位保持不变

技术图片

由[X]补求[-X]补:连符号位一起各位求反,末位加1。

由[X]补求[X/2]补:将[X]补的符号位和数值位一起向右移动一次.符号位移走后保持原来的值不变.这称为“算术移位”,[X/4]补和[X/8]补同理

n+1位补码所能表示的数
技术图片

反码表示法

定义:正数的表示与原、补码相同,负数的反码符号位为1,数值位是将原码的数值按位取反,就得到该数的反码表示,电路容易实现,触发器的输出有正负之分
技术图片

技术图片

[x ]补=[x ]反+2^-n,反码表示有正0和负0之分

移码

技术图片

特点:移码和补码尾数相同,符号位相反,范围:-2^n~2^n-1

性质: 若[X1]移>[X2]移,则有 X1>X2.

技术图片

技术图片

技术图片

技术图片

技术图片

原码、补码、反码和移码的区别,可分三个区域:

技术图片
技术图片
技术图片
技术图片

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!