计算机组成原理第三章:信息编码与数据表示

知识点一:定点机器数表示

小数,整数的原码,反码,补码,移码表示法

机器数:机器识别的无符号指令。例如01011B
真值:带符号。例如+1011B

正数的原码,反码,补码完全相同
负数的原码:二进制真值表示,符号位+变0,符号位-变1
反码:除符号位之外其他位对原码取反
补码:在反码的基础上末尾加上1

移码:在补码的基础上符号位取反,其他的数值位相同

在补码中,0只有一种表示方式,但在原码和反码中,0有+0和-0两种表示方式,所以选择补码更有利于数据表示

例题:学习通第三章作业1:
T4,求机器数的二进制真值
T5,原码,反码,补码表示的定点小数和定点整数

例1:[x]补=0.1001

小数点前的数字表示符号 -为1,+为0

所以这是一个正数

真值为0.1001(注意真值不等于原码,不要混淆

例2:[x]补=1.1001

反码为 1.1000,原码为 1.0111,转换为真值:

这是一个负数,1表示 --,即 真值为–0.0111

例3:[x]原=1.1101

1表示–,转化为真值即:-0.1101

例4:[x]反=0.1101

0表示正数,正数原反补码相同不要混淆),故原码为0.1101,故真值为+0.1101

例5:[x]移=11001

[x]补=01001,0表示正数,所以真值X为+1001

例6:[x]移=01001

[x]补=11001,1表示负数,[x]反=11000,[x]原=10111,所以真值X为-0111

8位字长:

例:[x]补=10000000,

1表示负数,[x]反=01111111,[x]原=10000000
故表示的X真值为-10000000B

例:[x]反=10000000

1表示负数,[x]原=01111111,故表示的X真值为-01111111

例:[x]移=10000000

,[x]补=00000000,0表示正数,故表示的X真值为+00000000B

原码,反码,补码的计算:
[x]原+[Y]原 运算前要判断符号是否相同,同为加,异为减

反码运算相对原码简单。符号位参与运算,只需设置加法器,符号位的“进位”位需加到最低位

补码的运算简单,只需要设置加法器

知识点二:数值数据表示
在这里插入图片描述知识点三:校验码:奇偶校验码,循环冗余校验码

定义:奇偶校验码中,若1的个数为偶数,则为偶校验码,若1的个数为奇数,则为奇校验码

校验电路中1个数为奇数,则为奇校验,1个数为偶数,则为偶校验

工作原理:在编码中加入一位冗余位,编码中出现一个错误,奇偶性发生变化时,就成为非法代码。
有奇数个“1”的字节的和为1,有偶数个“1”的字节的和为0

特点:
1,编码与检错简单
2,编码效率高
3,不能检测偶数位错误,无错结论不可靠
4,没有纠错能力

码距的概念:任意两个合法编码之间不同二进制位数的最小值,例如:0011与0001的码距为1

例如:字符A的ASCII码为41H(十六进制,十进制为65),化为二进制为1000 0001,有偶数个1。
若采用奇校验法,在最前面加上一个1后,变成1 1000 0001 ,化为16进制,即c1H
若采用偶校验法,在最前面加上一个0,变成0 1000 0001,化为16进制,即41H

字符A的奇校验码为C1H
偶校验码为41H

总结:求奇校验码用奇校验法,求偶校验码用偶校验法

知识点四:浮点机器数表示方法

浮点机器数:即既有整数部分又有小数部分的数

IEEE754标准采用的格式:
在这里插入图片描述
单精度:8位偏指数E + 23位有效位数M
双精度:11位偏指数E + 52位有效尾数M

在这里插入图片描述

指数采用偏移值(即阶码部分采用移码,但尾数、阶码均用补码表示),其中单精度偏移值为127,双精度为1023,将浮点数的阶码值变成非负整数,便于浮点数的比较和排序

IEEE754尾数形式为1.XXXXXX。其中M部分保存的是XXXXXX(1被隐藏),从而可保留更多的有效位,提高数据表示的精确度

浮点数据表示,即把数的范围和精度分开来表示
使用场合:数的表示范围超过了定点数能表示的范围时
表示的浮点数:N=M x(2的E次方)
E:表示阶码位数,决定数据的范围
M:表示尾数位数,决定数的精度
在字长确定后,如果想表示更大的数,就必须牺牲精确度

在这里插上面为入图片描述上面为单精度,下面为双精度
当Ms=0 N为正数,Ms=1,N为负数

例: 若X和Y均是IEEE 754 标准的单精度浮点数,
(1)若X浮点数的存储形式为41360000H,求X的真值。
(2)若Y=-135.625,求Y的浮点数表示。

解:在这里插入图片描述
在这里插入图片描述
在这里插入图片描述机器零:位于最大负数和最小正数之间的数据(除0外)
机器无法表示,称为下溢
以下两种情况时,会发生下溢:

1,浮点数的尾数为零
2,当阶码的值遇到比它能表示的最小值还要小时(阶码负溢出)

浮点数的规格化

对于非规格化浮点数,可以通过修改阶码和左右移尾数的方法来使其变为规格化浮点数,这个过程叫做规格化;

小数点不动,尾数右移1位,阶码加1的规格化,则称为右规 小数点不动,尾数左移1位,阶码减1的规格化,则称为左规

例题:X=+55.75,Y= -27/128, 请写出下列X和Y的规格化浮点数形式。
在这里插入图片描述规格化只需将小数表示成0.XXX即可
小数点移动了六位,6转换为二进制即110

典例

十进制数-0.1953125表示为二进制数规格化浮点数是多少,设浮点数的格式为阶符、尾符各为1位,阶码为3位,位数为7位,答案是E9CH

解答:
(1)转换成二进制数,再规格化:-0.1953125 D=-0.0011001B=-0.11001*2^(-2)
注:规格化只需将二进制数写成尾数为0.1*****(即0.1开头)此种格式即可。
(2)阶码为-2,用3位二进制表示为-010B(注:前面补0),求出补码为1110。
(3)7位尾数为-0.1100100(注:后面补0),求出补码为10011100。 (4)规格化浮点数形式为:阶码+尾数,即为1110
1001 1100,转换为十进制为E9C。

知识点五:非数值数据表示与编码

1,字符编码

ASCII码:7bit表示一个字符,一个字符使用一个字节来表示

2,汉字编码

字符数据通常采用7位的ASCII码来表示
汉字的输入编码用于使用西文标准键盘输入汉字,
汉字的机内码则用于汉字的存储、检索和处理,
汉字的字模码则用于汉字的显示和打印输出。

例题: 在一个应用系统中,需要构造一个包含了100个汉字的汉字库,假设采用16×16的汉字字形,问:

(1)该汉字库所占存储容量是多少字节?

(2)一篇由50个汉字构成的短文,需要占用多少字节的存储容量来存储其纯文本?

汉字库中存放汉字字模码,容量=存储每个点阵的字节数 x 汉字数 x 点阵方法数
100个汉字的汉字库存储容量为:16×2×100=3200字节;

50个汉字构成的短文,需要占用2 ×50=100字节。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值