ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2020-03-15 10:01:07  阅读:1093  来源: 互联网

标签:表示 编码 真值 第三章 数据表示 浮点数 补码 反码 原码


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

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

机器数:机器识别的无符号指令。例如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的规格化浮点数形式。
在这里插入图片描述小数点移动了六位,6转换为二进制即110

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

1,字符编码

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

2,汉字编码

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

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

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

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

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

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

标签:表示,编码,真值,第三章,数据表示,浮点数,补码,反码,原码
来源: https://blog.csdn.net/weixin_45011930/article/details/104856045

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有