第2章数据的表示和运算习题

合集下载

数字逻辑与计算机组成原理:第二章 数据的表示与运算

数字逻辑与计算机组成原理:第二章  数据的表示与运算
数字逻辑与计算机组成原理
第二章 数据的表示与运算
第一节 数的表示
一、无符号数和有符号数
1、无符号数:
没有符号的数,寄存器中的每一位都可用 来存放数据
机器字长为n位,无符号数的表示范围 为0~2n-1
反映无符号数的表示范围
8位 16 位
0 ~ 255 0 ~ 65535
有两种常用的无符号表示法: ◆ 非负数码:表示0或一个正数
(1) 定义
整数
0,x
2n > x ≥ 0
[x]反 = ( 2n+1 – 1) + x 0 ≥ x > 2n(mod 2n+1 1)
x 为真值
n 为整数的位数
如 x = +1101
x = 1101
[x]反 = 0,1101
[x]反 = (24+1 1) 1101 = 11111 1101
用 逗号 将符号位
= 1,0010
和数值部分隔开
小数 x
[x]反 = ( 2 – 2-n) + x
1>x≥ 0 0 ≥ x > 1(mod 2 2-n)
x 为真值 n 为小数的位数
如 x = + 0.1101
x = 0.1010
[x]反 = 0.1101
[x]反 = (2 2-4) 0.1010
= 1.1111 0.1010
有符号小数: +0.1011,在机器中表示为
-0.1011,在机器中表示为
第一节 数的表示
一、无符号数和有符号数 2、有符号数
有符号整数: +1101,机器中表示为
-1101, 机器中表示为
第一节 数的表示
一、无符号数和有符号数

计算机组成原理第二章数据的表示和运算

计算机组成原理第二章数据的表示和运算

计算机组成原理第⼆章数据的表⽰和运算第⼆章数据的表⽰和运算数制与编码进制转换使⽤⼆进制的原因⼆进制与⼋进制、⼗六进制的转换各种进制的书写⽅式⼗进制转换为任意进制整数部分⼗进制转换⼆进制如(75)10752=37……1 K372=18……1 K1182=9……0 K292=4……1 K342=2……0 K422=1……0 K512=0……1 K6K0K1K2K3K4K5K6=1101001⼩数部分⼗进制转换⼆进制如(75.3)10⼩数部分=0.30.3∗2=0.6=0+0.6 K−10.6∗2=1.2=1+0.2 K−20.2∗2=0.4=0+0.4 K−30.4∗2=0.8=0+0.8 K−40.8∗2=1.6=1+0.6 K−5……0.3D=0.01001……B⼩数⽆法准确表述⼗进制转换⼆进制(拼凑法)总结Processing math: 52%BCD码(Binary-Coded Decimal)修正数据(9+9)10(9)10→(1001)2(9+9)2=100110011001+1001−−−−1001010010超出了8421码中的1010−1111+(6)10⇔+(0110)2修正10010+0110−−−−11000相加结果在合法范围(1010~1111)内,不需要修正其他编码总结字符与字符串ASCII码可印刷字符:32~126其余为控制、通信字符⼤写字母:65(0100 0001)~ 90(0101 1010)⼩写字母:97(0110 0001)~ 122(0111 1010)汉字的表⽰和编码输⼊:输⼊编码输出:汉字字形码字符串⼤端模式&⼩端模式总结奇偶校验码校验原理当d=1时,⽆检错能⼒;当d=2时,有检错能⼒;当d≥3时,若设计合理,可能具有检错纠错能⼒(海明码)奇偶校验码例题奇校验:(1)1001101 (0)1010111偶校验:(0)1001101 (1)1010111只能发现数据代码中奇数位的出错情况,但不能纠错总结海明码简单思路求解步骤总结循环冗余校验码基本思想校验步骤(模⼆除)G(x)=x3+x2+1=1∗x3+1∗x2+0∗x1+1∗x0→1101110101−−−−−−−−−−−−−−−−−−−1101 |101001000110111101101−−−−−−−−−−−−−−−−−−−01110000−−−−−−−−−−−−−−−−−−−11101101−−−−−−−−−−−−−−−−−−−01100000−−−−−−−−−−−−−−−−−−−11001101−−−−−−−−−−−−−−−−−−−001→校验位对应的CRC码为101001 001s余数为001、010时并不能确定是哪⼀位出错了此时是信息位过多,降低信息位就可以解决问题K个信息位,R个校验位,若⽣成多项式选择得当,且2R≥K+R+1,则CRC码可纠正1位错总结定点数的表⽰⽆符号数通常只有⽆符号整数,⽽没有⽆符号⼩数1001100B=1∗27+1∗26+0∗25+0∗24+1∗23+1∗22+0∗21+0∗20=156D有符号数的定点表⽰原码⽤尾数表⽰真值部分的绝对值,符号位“0/1”对应“正/负”若机器字长为n+1位,则尾数占n位反码若符号位为0,则反码与原码相同若符号位为1,则数值位全部取反反码是原码转变为补码的⼀个中间状态补码正数的补码=原码负数的补码=反码末位+1(要考虑进位)设机器字长为8位[+0]原=0000 0000[+0]反=0000 0000[+0]补=0000 0000[−0]原=1000 0000[−0]反=1111 1111[−0]补=1 0000 0000由于机器字长为8位,进位丢弃[−0]补=0000 0000逆向将负数补码转回原码的⽅法相同:尾数取反,末尾+1[−19]原=1001 0011[−19]反=1110 1100[−19]补=1110 1101[−19]原=1001 0010+0000 0001=1001 0011移码补码的基础上将符号位取反移码只能⽤于表⽰整数⼏种码表⽰定点整数练习假设机器字长为8位定点整数x=50[+50]原=0011 0010[+50]反=0011 0010[+50]补=0011 0010[+50]移=1011 0010定点整数x=−100[−100]原=1110 0100[−100]反=1001 1011[−100]补=1001 1100[−100]移=0001 1110知识回顾各种码的作⽤⽤加法代替减法表盘为例10+9=1919%12=7相当于求余数模运算的性质可以说在模12的情况下上述数字等价其中-3和9互为补数,⼆者绝对值之和等于模\begin{align} 有符号数&~~~~~~~~~~~~~~~~~~~⽆符号数\\ 14~~~~~~&0000~1110~~~~~~~~14\\ -14~~~+&1000~1110~~~~~~142\\ -----&-----------\\0~~~~~~&1001~1100~~~~~~156\\ &模-a的绝对值=a的补数\\ &0000~1110\\ -&0000~1110\\ -----&-----------\\ &0000~0000\\ &\\ &模2^8-0000~1110\\ &1~0000~0000\\ -&~~~0000~1110\\ -----&-----------\\ &~~~1111~0010\\ -----&-----------\\ &~~~0000~1110\\ +&~~~1111~0010\\ -----&-----------\\ &~1~0000~0000\\ \end{align}\begin{align} &求-66的补码\\ &[-66]_{原}=1100~0010\\ &[-66]_{反}=1011~1101\\ &[-66]_{补}=1011~1110\\ &[+88]_{原}=0101~1000\\ &1101~1000\\ +&0011~1110\\ --&-----------------\\ 1~&0001~0110~~~~~~22D\\ \end{align}移位运算算术移位原码的算术移位\begin{align} &[+20]_{原}=0001~0100\\ &{左移⼀位}=0010~1000=+40D\\ \end{align}反码的算数移位补码的算数移位\begin{align} &[-20]_{原}=1001~0100\\ &[-20]_{反}=1110~1011\\ &[-20]_{补}=1110~1100\\ &左移⼀位=1010~1000\\ &[-20]_{原}=1001~0100\\ &[-20]_{反}=1110~1011\\ &[-20]_{补}=1110~1100\\ &右移⼀位=1111~0110\\ \end{align}逻辑移位(针对⽆符号数)应⽤举例循环移位总结加减运算原码的加减运算补码的加减运算\begin{align} &A=15,B=-24,C=124,求[A+C]_{补}[B-C]_{补}\\ &[A]_{原}=0000~1111\\ &[A]_{反}=0000~1111\\ &[A]_{补}=0000~1111\\ &[B]_{原}=1001~1000\\ &[B]_{反}=1110~0111\\ & [B]_{补}=1110~1000\\ &[C]_{原}=0111~1100\\ &[C]_{反}=0111~1100\\ &[C]_{补}=0111~1100\\ &[A+C]_{补}\\ &0000~1111\\ +&0111~1100\\ ----&------------\\ &1000~1011\\&1111~0100\\ &1111~0101~~~~~~-117D\\ &[B-C]_{补}\\ 1&~0000~0000\\ -&~0111~1100\\ ----&-------------\\ &~1000~0100\\ +&~1110~1000\\ ----&-------------\\ &~0110~1100\\&~0110~1100\\ &~0110~1100~~~~~~+108D\\ \end{align}出现了溢出溢出判断⼀位符号逻辑表达式进位判断双符号位符号扩展整数⼩数总结乘法运算⼿算乘法(⼗进制)⼿算乘法(⼆进制)原码⼀位乘法实现⽅法:先加法再移位,重复n次(0)乘法进⾏前ACC置0(1)第⼀步加法加法移位(2)第⼆步加法加法移位(3)第三步加法加法移位(4)第四步加法加法移位乘法结果修正符号位原码⼀位乘法(⼿算模拟)\begin{align} &⾼位部分积~~~~ ~~~~低位部分积~~~~ ~~~~ ~~~~说明\\ &~~00.0000~~~~ ~~~~ ~~~~ ~~~~ 101\underline{1}|~~~~ ~~~~ 低位=1~~~~ +|x|\\ +|x|&~~00.1101~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~|\\ ----&---------------------\\ &~~00.1101\\ 右移&~~00.0110~~~~ ~~~~ ~~~~ ~~~~ 110\underline{1}|1~~~~ ~~~ 低位=1~~~~ +|x|\\ +|x|&~~00.1101~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~|\\ ----&---------------------\\ &~~01.0011\\ 右移&~~00.1001~~~~ ~~~~ ~~~~ ~~~~ 111\underline{0}|11~~ ~~~低位=0~~~~ +0 \\ +&~~00.0000\\ ----&---------------------\\&~~00.1001\\ 右移&~~00.0100~~~~ ~~~~ ~~~~ ~~~~ 111\underline{1}|011 ~~~低位=1~~~~ +|x| \\ +|x|&~~00.1101\\ ----&---------------------\\ &~~01.0001\\ 右移&~~00.1000~~~~ ~~~~ ~~~~ ~~~~ 111\underline{1}|1011 ~右移部分积和乘数全部移出 \\ &|x|=00.10001111\\ &x*y=-0.10001111\\ \end{align}补码的⼀位乘法辅助位⼿算模拟\begin{align} &⾼位部分积~~~~ ~~~~低位部分积~~~~ ~~~~ ~~~~说明\\ &~~00.0000~~~~ ~~~~ ~~~~ 0.101\underline{1}|0~~~~ ~~~~ ~~~~起始情况\\ +[-x]_补&~~00.1101~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ Y_4Y_5=10,Y_5-Y_4=-1,+[-x]_{补}\\ ----&-----------------------------\\ &~~00.1101\\ 右移&~~00.0110~~~~ ~~~~ ~~~~10.10\underline{1}|10~~~~ ~~~~ ~~~~右移部分积和乘数\\ +0&~~00.0000~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ Y_4Y_5=10,Y_5-Y_4=0,+0\\ ----&-----------------------------\\ &~~00.0110\\ 右移&~~00.0011~~~~ ~~~~ ~~~~ 010.1\underline{0}|110~~~~ ~~~~ ~~~~右移部分积和乘数\\ +[x]_补&~~11.0011~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~~~~~ ~~~~ Y_4Y_5=01,Y_5-Y_4=1,+[x]_补\\ ----&-----------------------------\\ &~~11.0110\\ 右移&~~11.1011~~~~ ~~~~ ~~~~ 0010.\underline{1}|0110~~~~ ~~~~ ~~~~右移部分积和乘数\\ +[-x]_补&~~00.1101~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ Y_4Y_5=10,Y_5-Y_4=-1,+[-x]_补\\ ----&-----------------------------\\ &~~00.1000\\ 右移&~~00.0100~~~~~~~~ ~~~~ \underline{\underline{0001}}\underline{0}.|10110~~~~ ~~~~ ~~~~右移部分积和乘数\\ +[x]_补&~~11.0011~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~Y_4Y_5=01,Y_5-Y_4=1,+[x]_补\\ ----&-----------------------------\\ &~~11.0111\\ &[x*y]_补=11.0111~0001\\ &x*y=-0.1000~1111\\ \end{align}除法运算⼿算除法(⼗进制)⼿算除法(⼆进制)恢复余数法原码除法:恢复余数法(0)初始(1)第⼀步上商求余数判断上商是否正确01011上商后得11110,相减结果为负,应上商0修正逻辑左移(2)第⼆步上商求余数判断上商是否正确相减结果为正数,上商正确逻辑左移(3)第三步上商求余数判断上商是否正确上商⽆误逻辑左移(4)第四步上商求余数判断上商是否正确相减结果⼩于0,上商有误修正逻辑左移(5)第五步:最后⼀步除法上商&求余数判断上商是否正确最后⼀步除法,如果上商求余数结果⼩于0.还需要继续恢复余数(6)最后⼀步\begin{align} &余数=ACC*2^{-n}\\ \end{align}原码除法(⼿算)加减交替法默认规定被除数要⼩于除数,否则硬件电路⽆法运⾏,如果被除数⼤于除数,商的结果为⼤于1的数将⽆法表⽰通过第⼀步的商来判断被除数与除数的⼤⼩关系第⼀步商的结果⼀定为负值,如果为正值说明被除数⽐除数⼤,硬件电路会⽴即停⽌运算补码除法加减交替法总结C语⾔中的强制类型转换数据的存储和排列⼤⼩端模式边界对齐浮点数的表⽰浮点数尾数的规格化左规&右规规格化浮点数的特点总结IEEE754 浮点数标准\begin{align} &IEEE754规定偏置值=2^{n-1}\\ \end{align}IEEE 754 标准\begin{align} &(-0.75)_{10}=(-0.11)_2=(-1.1)*2^{-1}\\ &数符=1\\ &尾数部分=.1000~0000……(隐含最⾼位1)\\ &阶码真值=-1\\ &单精度浮点型偏移量=127D\\ &移码=阶码真值+偏移量=-1+111~1111=0111~1110(凑⾜8位)\\ \end{align}总结浮点数的运算浮点数的加减运算\begin{align} &(0)转换格式\\ &5D=101B,\frac{1}{256}=2^{-8},X=-101*2^-8=-0.101*2^{-5}=-0.101*2^{-101}\\ &59D=111011,\frac{1}{1024}=2^{-10},Y=111011*2^{-10}=0.111011*2^{-4}=0.111011*2^{-100}\\ &X: &[阶码]_{原}=-101\\ &[阶码]_{补}=1011\\ &阶码双符号位补码:11011\\ &[尾数]_{原}=-0.101\\ &[尾数]_{补}=1.011\\ &尾数双符号位补码:11.011\\&X=11011,11.011000000\\ &Y: &[阶码]_{原}=-100\\ &[阶码]_{补}=1100\\ &阶码双符号位补码:11100\\ &[尾数]_{原}=0.111011\\ &[尾数]_{补}=0.111011\\ &尾数双符号位补码:00.111011\\ &X=11100,00.111011000\\ &浮点数加减法运算步骤\\ &(1)对阶\\ &⼩阶向⼤阶看齐,尾数每右移⼀位,阶码+1\\ &[1]求阶差:[\Delta E]_补=||E_X|_原+|E_Y|_补|=11011+00100=11111\\ &\Delta=-1\\ &[2]对阶:X:11011,11.011000000\rightarrow 111011,11.1011000000\\ &X=-0.0101*2^{-100}\\ &(2)尾数减法\\ &-Y=11100,11.000101000\\ &11011,11.011000000\\ +&11100,11.000101000\\ ---&----------------------------\\ &10.110001000\\ &X_Y=11100,10.110001000\\ &(3)规格化\\&X_Y=11100,10.110001000\rightarrow11101,011000100\\ &(4)舍⼊ \\ &⽆需舍⼊\\ &(5)判断溢出\\ &常阶码,⽆溢出,结果真值为2^{-3}*(-0.1001111)_2 \end{align}舍⼊强制类型转换总结加法器设计算术逻辑单元ALU机器字长=ALU⼀次可以处理的数据长度基本逻辑运算⽤门电路求偶校验位⼀位全加器串⾏加法器并⾏加法器总结加法器、ALU的改进并⾏加法器的优化组内并⾏&串⾏ALU芯⽚优化。

计算机组成原理第二章课后习题答案

计算机组成原理第二章课后习题答案

第二章运算方法和运算器练习一、填空题1. 补码加减法中,(符号位)作为数的一部分参加运算,(符号位产生的进位)要丢掉。

2. 为判断溢出,可采用双符号位补码,此时正数的符号用(00)表示,负数的符号用(11)表示。

3. 采用双符号位的方法进行溢出检测时,若运算结果中两个符号位(不相同),则表明发生了溢出。

若结果的符号位为(01),表示发生正溢出;若为(10),表示发生负溢出。

4. 采用单符号位进行溢出检测时,若加数与被加数符号相同,而运算结果的符号与操作数的符号(不一致),则表示溢出;当加数与被加数符号不同时,相加运算的结果(不会产生溢出)。

5. 利用数据的数值位最高位进位C和符号位进位Cf的状况来判断溢出,则其表达式为over=(C⊕Cf)。

6. 在减法运算中,正数减(负数)可能产生溢出,此时的溢出为(正)溢出;负数减(正数)可能产生溢出,此时的溢出为(负)溢出。

7. 补码一位乘法运算法则通过判断乘数最末位Yi和Yi-1的值决定下步操作,当YiYi-1=(10)时,执行部分积加【-x】补,再右移一位;当YiYi-1=(01)时,执行部分积加【x】补,再右移一位。

8. 浮点加减运算在(阶码运算溢出)情况下会发生溢出。

9. 原码一位乘法中,符号位与数值位(分开运算),运算结果的符号位等于(两操作数符号的异或值)。

10. 一个浮点数,当其补码尾数右移一位时,为使其值不变,阶码应该(加1)。

11. 左规的规则为:尾数(左移一位),阶码(减1)。

12. 右规的规则是:尾数(右移一位),阶码(加1)。

13. 影响进位加法器速度的关键因素是(进位信号的传递问题)。

14. 当运算结果的补码尾数部分不是(11.0×××××或00.1×××××)的形式时,则应进行规格化处理。

当尾数符号位为(01)或(10)时,需要右规。

计算机思维导论课程 第2章-计算基础练习题-带答案

计算机思维导论课程 第2章-计算基础练习题-带答案

答案:C
23. 十进制数 37.125 转换成八进制数是【 】。
A:45.1 B:25.2 C:35.2 D:37.125
答案:A
24. 十进制数 37.125 转换成十六进制数是【 】。
A:45.1 B:25.2 C:35.2 D:37.125
答案:B
25. 十六进制数 5BB 对应的十进制数是【 】。
答案:D
解析:X 的补码为 10011000,其反码为 11100111,原码为 11101000,故选 D
15. 在计算机中,8 位的二进制数可表示的最大无符号十进制数是【 】。
A:128 B:255 C:127 D:256
答案:B
解析:8 位的二进制数可表示的最大无符号二进制是 11111111,即十进制 2^8-1,即 255。
A:2645 B:1467 C:5434 D:2345
答案:B
26. 八进制数 56.42 转换成十进制数是【 】。
A:45.525 B:45.53125 C:46.525 D:46.53125
答案:D
27. 八进制数 371.53 转换成二进制数是【 】。
A:11101001. 101011 B:11110001.101011
19. 二进制数 1011.101 对应的十进制数是【 】。
A:11.625 B:13.625 C:11.75 D:13.75
答案:A
解析:按权展开
(1011.101)B = 1*2^3 + 0*2^2 + 1*2^1 + 1*2^0 + 1*2^(-1) + 0*2^(-2) + 1*2^(-3)
A:25.2 B:25.3 C:24.2 D:25.1

C语言练习题—基本数据类型和运算

C语言练习题—基本数据类型和运算

C语⾔练习题—基本数据类型和运算第2章基本数据类型和运算练习题⼀、单项选择题1.下列数据中属于“字符串常量”的是()。

A.”a” B. {ABC} C. ’abc\0’ D. ’a’2.下列数据中属于“字符串常量”的是()。

A.ABC B. “ABC” C. ’abc’ D. ’a’3. 在PC机中,’\n’在内存占⽤的字节数是()。

A. 1B. 2C. 3D. 44. 在PC机中,”a\xff”在内存占⽤的字节数是()。

A. 5B. 6C. 3D. 45.字符串”ABC”在内存占⽤的字节数是()。

A. 3B. 4C. 6D. 86.字符串”\”ABCD\””在内存占⽤的字节数是()。

A. 4B. 6C. 7D. 87. 在C语⾔中,合法的长整型常数是()。

A. 0LB.C. 0.D. 2.1869e108.在C语⾔中,合法的短整型常数是()。

D. 0x2a9.下列数据中不属于“字符常量”的是()。

A. ‘\a’B. ‘\160’C. ‘070’D. 07010.char型常量在内存中存放的是()。

A. ASCII代码值B. BCD代码值C. 内码值D. ⼗进制代码值11.设整型变量m,n,a,b,c,d均为0,执⾏(m=a==b)||(n=c==d)后,m,n的值是()。

A. 0,0B. 0,1C. 1,0D. 1,112.设整型变量m,n,a,b,c,d均为1,执⾏“(m=a>b)&&(n=a>b)”后,m,n的值是()。

A. 0,0B. 0,1C. 1,0D. 1,113.设a为2,执⾏下列语句后,b的值不为0.5的是()。

A. b=1.0/aB. b=(float)(1/a)C. b=1/(float)aD. b=1/(a*1.0)14.设a为5,执⾏下列语句后,b的值不为2的是()。

A. b=a/2B. b=6-(--a)C. b=a%2D. b=a>3?2:215. 执⾏语句“x=(a=3,b=a--)”后,x,a,b的值依次为()。

C语言程序设计第2章数据类型与运算练习题及解答

C语言程序设计第2章数据类型与运算练习题及解答

C语⾔程序设计第2章数据类型与运算练习题及解答第2章数据类型和运算符习题及解答⼀.选择题。

1.下列是⽤户⾃定义标识符的是A)_w1 B)3_xy C)int D)LINE-3答案:A解析: C语⾔规定⽤户标识符由英⽂字母、数字和下划线组成,且第⼀个字符必须是字母或下划线,由此可见选项B),D)是错的;此外,C语⾔不允许⽤户将关键字作为标识符,⽽选项C)选项项中的int 是C语⾔的关键字。

语⾔中最简单的数据类型包括A)整型、实型、逻辑型 B)整型、实型、字符型C)整型、字符型、逻辑型 D)字符型、实型、逻辑型答案:B解析:本题考查C语⾔的数据类型。

在C语⾔中,没有专门的逻辑型数据类型,可以⽤0和1来表⽰逻辑值。

所以,在本题的选择答案中,不应该包括逻辑型。

3.假定int类型变量占⽤两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是A)3 B)6 C)10 D)20答案:D解析: x数组共有10个元素,在花括弧内只提供3个初值,这表⽰只给前⾯的3个成员赋值,后7个元素的值为0,所以,⼀共有20个字节。

4.以下选项中不正确的实型常量是A) B) C) D)234e-2答案:B解析:实型常量表⽰时字母E或e前必须有数字,其后数字必需为整数,故B错。

5.若变量已正确定义并赋值,以下符合C语⾔语法的表达式是A)a:=b+1 B)a=b=c+2 C)int %3 D)a=a+7=c+b答案:B解析:选项A)中包含⼀个不合法的运算符“:=”;选项C)应改为(int)%3;选项D)可理解为两个表达式:a+7=c+b和a=a+7,其中第⼀个是错的,因为C语⾔规定赋值号的左边只能是单个变量,不能是表达式或常量等。

因此,正确答案是选项B),它实际上相当于a=(b=c+2),进⽽可分解为两个表达式:b=c+2和a=b。

6.下列可⽤于C语⾔⽤户标识符的⼀组是A)void, define, WORD B)a3_b3, _123,CarC)For, -abc, IF Case D)2a, DO, sizeof答案:B解析: C语⾔规定标识符只能由字母、数字和下划线三种字符组成,且第⼀个字符必须为字母或下划线,排除选项C)和D)。

第二章数据在计算机中的表示综合练习题参考答案

第二章数据在计算机中的表示综合练习题参考答案

第二章数据在计算机中的表示综合练习题参考答案一、1 、计算机中的数有定点表示法和浮点表示法两种表示方法。

2 、原码的编码规则是:最高位代表符号,其余各位是该数的尾数本身。

3 、补码的编码规则是:正数的补码与其原码相同,负数的补码是将二进制位按位取反后在最低位加 1 。

4 、反码的编码规则是:正数的反码与其原码相同,负数的反码是将二进制位按位取反。

5 、一种记数制允许选用基本数字符号的个数称为基数。

6 、整数部分个位位置的序是 0 。

7 、通常把表示信息的数字符号称为数码。

8 、八进制数的基数是 8 。

9 、 7402.45Q 的十六进制数是 F02.94H 。

10 、数在计算机中的二进制表示形式称为二进制数。

11 、在小型或微型计算机中,最普遍采用的字母与字符编码是 ASCII 码。

12 、计算机一般都采用二进制数进行运算、存储和传送,其理由是运算规则简单,可以节省设备。

13 、十进制整数转换成二进制的方法是除 2 取余法,小数转换成二进制的方法是乘 2 取整法。

14 、二进制的运算规则有加法规则、减法规则、乘法规则和除法规则。

15 、目前常见的机器编码有原码、反码和补码。

16 、对 -0 和 +0 有不同表示方法的机器码是原码和码。

17 、 8 位寄存器中存放二进制整数,内容全为 1 ,当它为原码、补码和反码时所对应的十进制真值分别是 -127 、 -1 、 -0 。

18 、在二进制浮点数表示方法中,阶码的位数越多则数的表示范围越大,尾数的位数越多则数的精度越高。

19 、对于定点整数, 8 位原码(含 1 位符号位)可表示的最小整数为 -127 ,最大整数为 127 。

20 、采用 BCD 码, 1 位十进制数要用 4 位二进制数表示, 1 个字节可存放 2 个 BCD 码。

21 、对于定点小数, 8 位补码可表示的最小的数为 -1 ,最大的数为 1-27 。

22 、在原码、补码、反码中,补码的表示范围最大。

计算机系统结构练习题(第二章)

计算机系统结构练习题(第二章)

★1.确定哪些数据类型用数据表示来实现,下面几项中不重要的是:A.能够缩短程序运行的时间B.数据表示能够有良好的通用性和利用率C.最可能多的用硬件实现,提高性能D.减少CPU和主存储器之间的通讯量【答案】C★2.早期的计算机系统只有定点数据表示,因此硬件结构可以很简单。

但是这样的系统有明显的缺点,下面哪一个不是它的缺点:A.数据表示范围小B.单个需要的计算时钟周期多C.编程困难D.存储单元的利用率很低【答案】B★3. 简述采用标志符数据表示方法的主要优缺点。

【答案】优点有:(1)简化了指令系统(2)由硬件自动实现一致性检查和数据类型的转换。

(3)简化程序设计(4)简化编译器(5)方便软件调试(6)支持数据库系统缺点有:(1)数据和指令的长度不能一致(2)指令的执行速度降低(3)硬件的复杂性增加★4.有效的缩短地址码的长度,主要采用的有哪些方法?【答案】(1)用间址寻址方式缩短地址码长度(2)用变址寻址方式缩短地址码长度(3)用寄存器间接寻址方式缩短地址码长度是最有效的方法★5.随着计算机技术的不断发展和对指令系统的合理性的研究,精简的指令系统(RISC)出现并且逐步取代CISC的重要位置。

下面所述不是CISC的主要缺点的是:A.20%与80%规律B.VLSI技术的不断发展引起的一系列问题C. 软硬件功能分配的问题D. 由于指令众多带来的编码困难【答案】D★★★6. 某台计算机只有Load/Store 指令能对存储器进行读/写操作,其它指令只对寄存器进行操作。

根据程序跟踪实验结果,已知每种指令所占的比例及CPI 数如下: 指令类型 指令所占比例 CPI 算逻指令 43% 1 Load 指令 21% 2 Store 指令 12% 2 转移指令 24% 2(1)求上述情况下的平均CPI 。

(2)假设程序由M 条指令组成。

算逻运算中25%的指令的两个操作数中的一个已在寄存器中,另一个必须在算逻指令执行前用Load 指令从存储器取到寄存器。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、选择题
1.下列各种数制的数中,最小的数是( B )。

A. (1O1OO1)B
B. (1OlOOl)BCD
C.(52)0
D.(233)H
A为29H,B为29D.C写成二进制为101010,即2AH,显然最小的为29D。

2.两个数7E5H和4D3H相加,得( C )。

A.BD8H
B.CD8H
C.CB8H
D. CC8H
在十六进制数的加减法中,逢十六进一,故而7E5 H+4D3 H=CB8 H。

3.一个16位无符号二进制数的表示范围是( B )。

A. 05536
B. 0~66535
C. -3276832767
D.-32768~32768
一个16位无符号二进制数的表示范围是0.-- 216_1。

4.下列校验码中,奇校验正确的有( C )。

A. 110100111
B. 001000111
C. 010110011
D. 110100111
选项A、B、D中“l”的个数为偶数,仅有选项C中“1”的个数为奇数。

5.能发现两位错误井能纠正I位错的编码是( B )。

A.CRC码
B.海明码
C. 偶校验码
D.奇校验码
偶校验码与奇校验码都不能纠错;CRC码可以发现并纠正信息串行读/写、存储或传送中出现的l位或多位错(与多项式的选取有关):海明码能发现两位错误并纠正l位错。

6.设待校验的数据为D8~DI=10101011,若采用海明校验,其海明码为( A )(设海明码具有一位纠错能力,P13采用全校验);若采用CRC.且生成多项式为10011,则:CRC码为( C )。

A. 0101001011111
B. 0100001111111
C. 101010111010
D. 101010101011
当采用海明校验时,海明码为P13 -PI:Q 1010 0101 1111(下画线的为校验位).其中
PI=P38P5(DP7@P9~P1I-I,
P2=P30P60P7QPIOOPII=1,
P4=P5QP60P7~P12—1,
P8-P90PIOOPIIOP12=o.
Pl3位为全校验位,因为P12 -Pl中l的个数为偶数个,故PI3~D:采用CRC时-将信息位左移4位t进行模2除,得余数为l010,故CRC码为10101011 1010。

7.一个n+l位整数x原码的数值范围是( D )。

n+l位整数原码的表示范围为_2n+l≤x≤2n-l。

8.补码定点整数01010101左移两位后的值为( B )。

A. 0100 0111
B. 0101 0100
C. 0100 0110
D. 0101 0101
该数是一个正数,按照算术补码移位规则,正数左右移使均添0‘,且符号位不变,,所以0101 0101左移2位后的值为0101 0100。

9.补码定点整数1001 0101右移l位后的值为( D )。

A. 01001010
B. 0100l010l
C. 10001010
D. 1100 1010
该数是一个负数,按照算术补码移位规则,负数右移添1,负数左移添0.所以1001 0101 右移1位后的值为1100 1010。

10.原码乘法是( A )。

A. 先取操作数绝对值相乘,符号位单独处理
B.用原码表示操作数,然后壹接相乘
C.被乘数用原码表示,乘数去绝对值,然后相乘
D.乘数用原码表示,被乘数去绝对值,然后相乘
原码一位乘法中,符号位与数值位是分开进行运算的。

运算结果的数值部分是乘数与被乘数数值位的乘积,符号是乘数与被乘数符号位的异或。

11.在原码一位乘法中.( B)。

A.符号位参加运算
B.符号位不参加运算
C.符号位参加运算,并根据运算结果改变结果中的符号位
D.符号位不参加运算,并根据运算结果确定结果中的符号
在原码一位乘法中,符号位不参加运算,符号位单独处理,同号为正,异号为负。

12.实现N位(不包括符号位)补码一位乘时,乘积为( C )位
A.N
B. N+l
C.2N
D. 2N+1
补码一位乘法运算过程中一共向右移位N次,加上原先的N位,一共是2N位数值位。

13.下列关于补码除法说法正确的是( B ).
A. 补码不恢复除法中,够减商0,不够减商1
B.补码不恢复余数除法中,异号相除时,够减商0j不够减商1
C.补码不恢复除法中,够减商l,不够减商0
D.以上都不对
补码除法(不恢复余数法/加减交替法).界号相除是看够不够减,然后上商,够减则商0.不够减商1。

14.设[X]补=0.1011 [Y]补=1.1110,求[X+Y]补和[X-Y]补的值。

[X+Y]补=0.1011+ 1.1110=0.1001,
[X-Y]补=0.1011+ 0.0010=0.1101
15.某浮点机,采用规格化浮点数表示,阶码用移码表示(最高位代表符号位).尾数用原码表示。

下列哪个数的表示不是规格化浮点数?( B )
A. 11111111, 1.1000 (00)
B. 0011111, 1.0111 (01)
C. 1000001, 0.1111 (01)
D. 0111111, 0.1000 (10)
阶码尾数阶码尾数原码表示时,首位为l是规格化浮点数。

16.浮点数的IEEE 754标准对尾数编码采用的是( A )。

A. 原码
B.反码
C.补码
D.移码
IEEE 754标准中尾数采用原码表示,且短浮点数、长浮点数采用隐藏位,临时浮点数不采用隐藏位方案。

17.在浮点数编码表示中,( D )在机器数中不出现,是隐含的。

A. 阶码
B.符号
C.尾数
D. 基数
浮点数表示中基数的值是约定好的,故隐含。

18.己知两个实数x=-68,y=-8.25.它们在C语言中定义为float型变量,分别存放在寄存器A 和B中,另外,还有两个寄存器C和D。

A、B、C、D都是32位的寄存器。

请问(要求用十六进制表示二进制序列):
1)寄存器A和B中的内容分别是什么?
2)x和y相加后的结果存放在C寄存器中,寄存器C中的内容是什么?
3)x和y相减后的结果存放在D寄存器中,寄存器D中的内容是什么?
解答:
所以:
符号位为l,尾数为1101 111 0000 0000 Cb000 0000.阶码为127+5=128+4,即10000100。

合起来为:l 1000 0100 110 1111 0000 0000 0000 0000.转换为十六进制形式为:
C26FOOOOH。

所以寄存器D中的内容燕C26FOOOOH。

19.加法器采用并行进位的目的是( C )。

A. 增强加法器功能
B.简化加法器设计
C.提高加法器运算速度
D. 保证加法器可靠性
并行进位可以大大提高加法器的运算速度。

相关文档
最新文档