计算机组成原理知识总结-数据信息表示
计算机组成原理
数据信息表示
2.1 带符号数-机器数与真值
- 原码表示:x = -0101,[x]原 = 1101
原码直观、方便、简单;不便于实现加减运算;0在原码中有两种表示形式。 - 补码表示:x = -0101,[x]补 = 1011
补码的符号可以看做是数值计算的一部分;补码中0只有一种表示形式 - 反码表示:x = -0101,[x]反 = 1010
符号位表示正负;纯小数的反码不能表示-1;纯整数反码不能表示-2^n;0在反码中有两种表示方式 - 移码表示:x = -0101,[x]移 = 2n + x = 0011
符号位表示正负,1正0负;0只有一种表示形式;移码与补码的表示范围相同,纯小数移码可以表示到-1,纯整数移码可以表示到-2n;真值大移码也大,真值小移码也小
2.2 定点数浮点数
计算机中常用的数据表示格式有两种,一是定点格式,二是浮点格式。所谓定点数和浮点数,是指在计算机中一个数的小数点的位置是固定的还是浮动的:如果一个数中小数点的位置是固定的,则为定点数;如果一个数中小数点的位置是浮动的,则为浮点数。
2.2.1 定点数
(1)无符号定点整数(Unsigned fixed point integer)
定义:无符号定点整数没有符号位,所以它的全部数位都用来表示数字,且它的小数点隐含在最低位后,在数码序列中并不存在
1.表示范围:这种方法表示数的大小(正负方向),无符号定点整数范围:0~2n-1
2.分辨率:精度,1(即最小非零整数)
代码序列: XnXn-1Xn-2……X1X0表示无符号定点整数,则有n+1位正整数
典型值 | 真值 | 代码序列 |
---|---|---|
最大正整数 | 2n+1-1 | 11…11 |
最小非零正数 | 1 | 00…01 |
(2)带符号定点整数
定义:带符号定点整数是纯整数,小数点在最低位之后,最高位为符号位。常用补码表示,也用原码表示。
代码序列: XnXn-1Xn-2……X1X0表示带符号定点整数,Xn是符号位
原码定点整数表示范围:-(2n-1)~(2n-1)
补码定点整数表示范围:-2n~(2n-1)
源码,补码定点整数分辨率:1
(3)带符号定点小数
定义:带符号定点小数是纯小数
代码序列:X0.X1…Xn
最高位X0是符号位,小数点位置在符号位之后,X1…Xn是数值的有效部分,常称尾数,X1称为最高数位或最高有效位
原码定点整数表示范围:-(1-2n)~(1-2n)
补码定点整数表示范围:-1~(1-2n)
2.2.2 浮点数
N = M*R^E
其中,N为浮点数,M为尾数(mantissa),E为阶码(exponent),R为阶的基数。在一台计算机中基数是确定且相同的,一般为2、8、16。
Ms | E | M | |
---|---|---|---|
占位数 | 1 | n+1 | m |
Ms是符号位,设置在最高位上;
E是阶码,有n+1位,一般为整数,其中E的最高位是E的符号位,用来表示阶数E的正负;
M是尾数,有m位,Ms与M组成一个定点小数。
IEEE754标准
x = (-1) s x(1.M)x 2(E-127)
e = E - 127
x = (-1) s x(1.M)x 2(E-1023)
e = E - 1023
尾数位数决定了数据表示的精度;阶码的位数决定了数据表示范围。
2.3 数据校验码
码距:两个编码之间代码不同的位数称为这两个编码的距离。
- d>=e+1 可校验e个错误
- d>=2t+1 可纠正t个错误
- d>=e+t+1 可校验e个错误,纠正t个错误
循环冗余校验(CRC)
定义:收发双方约定的一个(r+1)位二进制数,发送方利用G(X)对信息多项式做模2除运算,生成校验码。接收方利用G(X)对收到的编码多项式做模2除运算检测差错及错误定位。
满足条件:- 最高位和最低位必须为1;
- 当被传送信息(CRC码)任何一位发生错误时,被生成多项式做除后应该使余数不为0;
- 不同位发生错误时,模2除运算后余数不同;
- 对不为0余数继续进行模2除运算应使余数循环。
从最高幂位开始降位,有就为1,没有就是0
例题
(1)将4位有效信息1001编成循环校验码,选择生成多项式x3+x1+x0,试写出编码过程
1.根据生成多项式,得到G(x)=1011
2.有效信息为4位,k=4,代入公式k+r≤2r-1,得到r≥3
3.首先临时在有效信息1001后面添加r位0的冗余码,即1001000,计算1001000/1011,得到余数110
4.将余数替换有效信息后面的冗余码,变为1001110
A7A6A5A4A3A2A1
(2)根据上题,在传输数据得到的是1001111,除以G(x),得到余数101,就是第一位错
海明码
定义:海明码(Hamming Code)是利用奇偶性来检错和纠错的校验方法。海明码的构成方法是在数据位之间的确定位置插入k个校验位,通过扩大吗距来实现检错和纠错。
对于数据位m的数据,加入k位的校验码,它应满足香农第二定理:n=m+k ≤ 2k-1
说明:这里的m是指我们待编有效信息的位数,例如01101001就是m=8,然后代入m,8+k ≤2k-1得到m=6,k≥4(取最小值),这样组成12位海明校验码。
(1)确定数据位D和校验位P在海明码中的位置:由海明码编码规则可知: pi在海明码的第2i-1
海明码H | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
校验位 | P1 | P2 | P3 | P4 | ||||||||
数据位 | D0 | D1 | D2 | D3 | D4 | D5 | D6 | D7 |
(2)确定校验关系:例如(P1,P2,P3,P4)来表示3,这里3就可以等于1+2。
(3)校验组
P1=D0⊕D1⊕D3⊕D4⊕D6=0⊕1⊕0⊕1⊕0=0 P2=D0⊕D2⊕D3⊕D5⊕D6=0⊕1⊕0⊕0⊕0=1 P3=D1⊕D2⊕D3⊕D7=1⊕1⊕0⊕1=1 P4=D4⊕D5⊕D6⊕D7=1⊕0⊕0⊕1=0
(4)设置指错字G4G3G2G1
G4=P4⊕D4⊕D5⊕D6⊕D7 G3=P3⊕D1⊕D2⊕D3⊕D7 G2=P2⊕D0⊕D2⊕D3⊕D5⊕D6 G1=P1⊕D1⊕D3⊕D4⊕D6
G4G3G2G1=0000,则数据无错
G4G3G2G1组成的二进制数为:1100,也就是12,说明第12位出现的错误
(5)海明校验缺点:仅能校验一位错
奇偶校验码
不管是奇校验还是偶校验,监督位都在数据的后面,而且仅一位。
-
奇校验,要保证插入监督码后”1“的个数为奇数,其中数据位是不变的,所以监督位置1或0;也就是说,若数据位中”1“的个数是偶数,则监督位为1;若数据位中”1“的个数是奇数,则监督位为0。
-
偶校验,要保证插入监督码后”1“的个数为偶数,其中数据位是不变的,所以监督位置1或0;也就是说,若数据位中”1“的个数是偶数的话,则监督位为0;若数据位中”1“的个数是奇数,则监督位为1。
奇偶校验只能发现单个或者奇数个错误,而不能校测出偶数个错误,因而它的校错能力不强
- 点赞
- 收藏
- 分享
- 文章举报
- 计算机组成原理第二章--计算机中数据信息的表示
- 计算机组成原理复习2(数据的表示和运算)
- 备战软考(1) 计算机组成原理之数据表示
- 计算机组成原理知识总结
- 计算机组成原理(二)数据表示
- 计算机组成原理与体系结构---数据的表示
- 【连载】计算机组成原理 --- 第二章数据的表示和运算
- 计算机组成原理知识总结-总线
- 计算机组成原理思维导图——数据的表示和运算
- 计算机组成原理知识总结-控制器与CPU
- 计算机组成原理知识总结-指令系统
- 计算机组成原理基础知识总结
- 计算机组成原理知识总结-存储器
- 【计算机组成原理】 数据的表示和运算
- 计算机组成原理:数据与文字的表示方法
- 组成原理---信息编码与数据表示
- 深入浅出计算机组成原理学习笔记:存储器层次结构全景-数据存储的大金字塔长什么样?(第35讲)...
- 计算机组成原理基础知识-指令系统
- 深入计算机组成原理(二)给你一张知识地图,计算机组成原理应该这么学
- 计算机组成原理前四章总结