第2章 习题课汇总
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
原码 补码
反码
添补代码 0 0
左移添0 右移添1
1
习题2 已知 [x]原=1.x1x2…xn, 求证[x]补=1.x1x2…xn+2-n
解:当-1≤x≤0时, [x]原=1-x, [x]补=2+x 所以 x= [x]补-2=1- [x]原;[x]补=3- [x]原 又 [x]原=1.x1x2…xn, 有[x]补=3- 1.x1x2…xn=2-0. x1x2…xn = 1+0.11…11-0.x1x2…xn+2-n = 1+0.x1x2…xn+2-n =1.x1x2…xn+2-n
第一种情况, [y]补=0.y1y2…yn
所以y= 0.y1y2…yn-1,故-y=- 0.y1y2…yn-1 则 [-y]补= 1.y1 y2... yn1 2(n1) 第二种情况, [y]补=1.y1y2…yn-1
所以[y]原 1.y1y2...yn-1 2-(n-1)
y (0.y1y2...yn-1 2-(n-1) )
习题3:设浮点数的阶码6位(a位)(含1符号 位),尾数10位(b位)(含1符号位),求规 格化的表示范围。
解:阶码范围
最小负数 10百度文库000
最大负数 111111
-25 =-32 (-2a-1) -1
规格化尾数范围
最小负数
最大负数
最小正数 000001
最大正数 0111111
+1
25-1=31(2a-1)
[X]原 =
2(n-1)-X=2(n-1)+|X| 0≥X≥-(2n-1-1)
(2)小数原码的定义
X [X]原 =
1-X
1>X≥0 0≥X>-1
表示简单,易于同真值之间进行转换,实现乘 除运算规则简单。
进行加减运算十分麻烦,本来是加法运算却可 能要用减法器实现。 0的原码表示不惟一。
补码的定义:正数的补码就是正数的本 身,负数的补码是原负数加上模。
-2-32x(2-9-2-1)
2010000X 0.10…000
2-32x2-1
2011111X 0.111…1
231x(1-2-9)
-2-(a-1)x1
-2-ax(2-(b-1)-2-1) 2-ax2-1
2a-1x(1-2-(b-1))
浮点数的表示范围
-2-31x1 ~ 231x(1-2-9) -2-(a-1)x1 ~ 2a-1x(1-2-(b-1))
码制表示法小结
• 原码:真值的直观表示; • 补码:真值的加减运算;
正数,与原码相同,负数原码符号位不变,数值位“取反加一”。
• 移码:补码的大小比较;
• 移码与补码的数值位相同,只是符号位相反。
• 变形补码:补码运算溢出判断;
• 双符号位补码。
① [X]原、[X]反 、[X]补用“0”表示正号,用“1”表示负号; [X]移用“1”表示正号,用“0”表示负号。
3 CRC码可以发现并纠正信息存储或传送过程 中连续出现的多位错误。
补码加减的基本公式
• 由补码加法基本公式可得: 整数 [A±B]补=[A]补+[±B]补 (mod 2n+1) 小数 [A±B]补=[A]补+[±B]补 (mod 2)
双符号位溢出判断法,(小数为模4) 双符号含义: 00表示运算结果为正数;
(3)整数补码的定义
0,X
2n-1>X≥0
[x]补=
2n+X 0>X≥- 2(n-1)
(4)小数补码的定义
(mod 2n)
•
X
• [x]补=
•
2+X
1>X≥0 0>X≥-1 (mod 2)
• n-1位整数的补码表示范围: 2n-1 -1 ~ -2n-1 • n-1位小数的补码表示范围: 1- 2-(n-1) ~ - 1 • 均能表示 2n-1 个数,0的补码惟一 -1的补码 • 设补码的有效数值位为n • 对于整数补码有: • [-1]补=2n-1=1,11111...1 (包括符号位一共n个1) • 对于小数补码有: • [-1]补=2+(-1.0…0)=1.0...0 (n-1个0) 原码与补码之间的转换 正数:原码与补码相同。 负数:符号位除外,对原码每位取反,末位加1。 [X]补求[-X]补连同符号一起将补码各位取反,末位再加1。
最小正数
最大正数
1.00…0
-1
1.0111…1
-(2-9-2-1) -(2-(b-1)-2-1)
0.10…000
0.111…1
2-1
1-2-9 (1-2-(b-1) )
规格化浮点数的表示范围
最小负数
最大负数
最小正数
最大正数
201111X1.00…0
21.00000X1.0111…1
-2-31x1
y 0.y1y2...yn-1 2-(n-1)
则[ y]补 0.y1y2...yn-1 2-(n-1)
移位运算
对有符号的移位叫算术移位,无符号数的移位称逻 辑移位 算术移位,符号不变,左移或右移n位相当于乘以或 除以2n 不同码制机器数移位后的空位添补规则 :
正数 负数
码制
原码、补码、反码
第2章 总结与习题课
1.真值与机器数
真值:正、负号加某进制数绝对值的形式称为真值。
机器数:将正、负号分别用1位数符0和1来代替的数。
2.机器码的表示
纯小数和纯整数分别定义
• 原码表示法用“0”表示正号,用“1”表示负号, 数值位用真值的绝对值表示。
(1)整数原码的定义
0,X
2(n-1)-1 ≥ X≥0
数值数据的校验
数据校验码是一种常用的带有发现某些错误 或带有自动改错能力的数据编码方式
1 奇偶校验码
数据 00001010
奇校验码的编码 100001010
偶校验码的编码 000001010
2 海明校验的基本思想是:将有效信息位按某种 规律分成若干组,每组安排一个校验位进行奇 偶测试。海明码能检测出两位错误,但只能自 动校正一位错误。
② 如果X为正数,则[X]原=[X]反=[X]补。 ③ 如果X为0,则[X]补、[X]移有唯一编码, [X]原、[X]反有
两种编码。 ④ 求[-X]补,将[X]补连同符号一起各位取反,末位加1。
习题1:证明:已知[Y]补,求[-Y]补的方法是连 同符号一起将补码各位取反,末位再加1。
证明:以小数补码为例。设[y]补=y0y1y2…yn-1
01表示运算结果正溢出; 10表示运算结果负溢出; 11表示运算结果为负数。
【例4】 X=0.1001,Y=0.0101,求X+Y。
• 解:[X]补=00.1001 [Y]补=00.0101
反码
添补代码 0 0
左移添0 右移添1
1
习题2 已知 [x]原=1.x1x2…xn, 求证[x]补=1.x1x2…xn+2-n
解:当-1≤x≤0时, [x]原=1-x, [x]补=2+x 所以 x= [x]补-2=1- [x]原;[x]补=3- [x]原 又 [x]原=1.x1x2…xn, 有[x]补=3- 1.x1x2…xn=2-0. x1x2…xn = 1+0.11…11-0.x1x2…xn+2-n = 1+0.x1x2…xn+2-n =1.x1x2…xn+2-n
第一种情况, [y]补=0.y1y2…yn
所以y= 0.y1y2…yn-1,故-y=- 0.y1y2…yn-1 则 [-y]补= 1.y1 y2... yn1 2(n1) 第二种情况, [y]补=1.y1y2…yn-1
所以[y]原 1.y1y2...yn-1 2-(n-1)
y (0.y1y2...yn-1 2-(n-1) )
习题3:设浮点数的阶码6位(a位)(含1符号 位),尾数10位(b位)(含1符号位),求规 格化的表示范围。
解:阶码范围
最小负数 10百度文库000
最大负数 111111
-25 =-32 (-2a-1) -1
规格化尾数范围
最小负数
最大负数
最小正数 000001
最大正数 0111111
+1
25-1=31(2a-1)
[X]原 =
2(n-1)-X=2(n-1)+|X| 0≥X≥-(2n-1-1)
(2)小数原码的定义
X [X]原 =
1-X
1>X≥0 0≥X>-1
表示简单,易于同真值之间进行转换,实现乘 除运算规则简单。
进行加减运算十分麻烦,本来是加法运算却可 能要用减法器实现。 0的原码表示不惟一。
补码的定义:正数的补码就是正数的本 身,负数的补码是原负数加上模。
-2-32x(2-9-2-1)
2010000X 0.10…000
2-32x2-1
2011111X 0.111…1
231x(1-2-9)
-2-(a-1)x1
-2-ax(2-(b-1)-2-1) 2-ax2-1
2a-1x(1-2-(b-1))
浮点数的表示范围
-2-31x1 ~ 231x(1-2-9) -2-(a-1)x1 ~ 2a-1x(1-2-(b-1))
码制表示法小结
• 原码:真值的直观表示; • 补码:真值的加减运算;
正数,与原码相同,负数原码符号位不变,数值位“取反加一”。
• 移码:补码的大小比较;
• 移码与补码的数值位相同,只是符号位相反。
• 变形补码:补码运算溢出判断;
• 双符号位补码。
① [X]原、[X]反 、[X]补用“0”表示正号,用“1”表示负号; [X]移用“1”表示正号,用“0”表示负号。
3 CRC码可以发现并纠正信息存储或传送过程 中连续出现的多位错误。
补码加减的基本公式
• 由补码加法基本公式可得: 整数 [A±B]补=[A]补+[±B]补 (mod 2n+1) 小数 [A±B]补=[A]补+[±B]补 (mod 2)
双符号位溢出判断法,(小数为模4) 双符号含义: 00表示运算结果为正数;
(3)整数补码的定义
0,X
2n-1>X≥0
[x]补=
2n+X 0>X≥- 2(n-1)
(4)小数补码的定义
(mod 2n)
•
X
• [x]补=
•
2+X
1>X≥0 0>X≥-1 (mod 2)
• n-1位整数的补码表示范围: 2n-1 -1 ~ -2n-1 • n-1位小数的补码表示范围: 1- 2-(n-1) ~ - 1 • 均能表示 2n-1 个数,0的补码惟一 -1的补码 • 设补码的有效数值位为n • 对于整数补码有: • [-1]补=2n-1=1,11111...1 (包括符号位一共n个1) • 对于小数补码有: • [-1]补=2+(-1.0…0)=1.0...0 (n-1个0) 原码与补码之间的转换 正数:原码与补码相同。 负数:符号位除外,对原码每位取反,末位加1。 [X]补求[-X]补连同符号一起将补码各位取反,末位再加1。
最小正数
最大正数
1.00…0
-1
1.0111…1
-(2-9-2-1) -(2-(b-1)-2-1)
0.10…000
0.111…1
2-1
1-2-9 (1-2-(b-1) )
规格化浮点数的表示范围
最小负数
最大负数
最小正数
最大正数
201111X1.00…0
21.00000X1.0111…1
-2-31x1
y 0.y1y2...yn-1 2-(n-1)
则[ y]补 0.y1y2...yn-1 2-(n-1)
移位运算
对有符号的移位叫算术移位,无符号数的移位称逻 辑移位 算术移位,符号不变,左移或右移n位相当于乘以或 除以2n 不同码制机器数移位后的空位添补规则 :
正数 负数
码制
原码、补码、反码
第2章 总结与习题课
1.真值与机器数
真值:正、负号加某进制数绝对值的形式称为真值。
机器数:将正、负号分别用1位数符0和1来代替的数。
2.机器码的表示
纯小数和纯整数分别定义
• 原码表示法用“0”表示正号,用“1”表示负号, 数值位用真值的绝对值表示。
(1)整数原码的定义
0,X
2(n-1)-1 ≥ X≥0
数值数据的校验
数据校验码是一种常用的带有发现某些错误 或带有自动改错能力的数据编码方式
1 奇偶校验码
数据 00001010
奇校验码的编码 100001010
偶校验码的编码 000001010
2 海明校验的基本思想是:将有效信息位按某种 规律分成若干组,每组安排一个校验位进行奇 偶测试。海明码能检测出两位错误,但只能自 动校正一位错误。
② 如果X为正数,则[X]原=[X]反=[X]补。 ③ 如果X为0,则[X]补、[X]移有唯一编码, [X]原、[X]反有
两种编码。 ④ 求[-X]补,将[X]补连同符号一起各位取反,末位加1。
习题1:证明:已知[Y]补,求[-Y]补的方法是连 同符号一起将补码各位取反,末位再加1。
证明:以小数补码为例。设[y]补=y0y1y2…yn-1
01表示运算结果正溢出; 10表示运算结果负溢出; 11表示运算结果为负数。
【例4】 X=0.1001,Y=0.0101,求X+Y。
• 解:[X]补=00.1001 [Y]补=00.0101