计算机组成原理computerorganizationprinciple.ppt
32页计算机组成原理computer organization principle顾 浩 赵宝华3. 3.原码表示法原码表示法•原码表示法是一种最简单的机器数表示法原码表示法是一种最简单的机器数表示法, , 其最高位为其最高位为符号位符号位, , 符号位为符号位为0 0时表示该数为正时表示该数为正, , 符号位为符号位为1 1时表示该时表示该数为负数为负, , 数值部分与真值相同数值部分与真值相同•若真值为纯小数若真值为纯小数, , 其原码形式为其原码形式为X XS S . X. X1 1X X2 2……X Xn n, , 其中其中X XS S表表示符号位示符号位 原码的定义为:原码的定义为: [X][X]原原== •例例3.113.11::X X==0.0110 [X]0.0110 [X]原原==X X==0.01100.0110•X X==-0.0110 , [X]-0.0110 , [X]原原==1 1--X X==1 1--(-0.0110)(-0.0110)==1 1++0.01100.0110• ==1.01101.0110 X 0≤X<<1 1 1--X==1 1++∣∣X∣ ∣ --1 1<<X≤03. 3.原码表示法原码表示法•若真值为纯整数若真值为纯整数, , 其原码形式为其原码形式为X XS S X X1 1X X2 2……X Xn n , , 其中其中X XS S表表示符号位。
示符号位•原码的定义为原码的定义为:: [X][X]原原==•例例3.123.12::X X==1101 [X]1101 [X]原原==X X==0110101101• X X=-=-1101, [X]1101, [X]原原==2 2n n--X X==2 24 4--( (--1101)1101)==1000010000++1101=111011101=11101•原码表示中,真值原码表示中,真值0 0有两种不同的表示形式:有两种不同的表示形式:•[ [++0] 0]原原==00000, [00000, [--0] 0]原原==1000010000•原码的优点原码的优点是直观易懂是直观易懂, , 机器数和真值间的转换很容易机器数和真值间的转换很容易, ,用原码实现乘、除运算的规则简单用原码实现乘、除运算的规则简单•缺点缺点是加、减运算规则较复杂是加、减运算规则较复杂 X , 0≤XX , 0≤X<<2 2n n 2 2n n--X X==2 2n n++∣∣X∣, X∣, --2 2n n<<X≤0X≤05. 5.补码补码((1 1)模和同余)模和同余•模模(Module)(Module)是指一个计量器的容量是指一个计量器的容量, , 可用可用MM表示。
如表示如, , 一一个个4 4位的二进制计数器位的二进制计数器, , 当计数器从当计数器从0 0计到计到1515之后之后, , 再加再加1, 1,计数值又变计数值又变0 0 这个计数器的容量这个计数器的容量MM==2 24 4==16, 16, 即模为即模为1616可见可见, , 纯小数的模为纯小数的模为2, 2, 一个字长为一个字长为n+1n+1位的纯整数的模位的纯整数的模为为2 2n+1n+1•同余概念同余概念是指两整数是指两整数A A和和B B除以同一正整数除以同一正整数M, M, 所得余数所得余数相同相同, , 则称则称A A和和B B对对MM同余同余, , 即即A A和和B B在以在以MM为模时是相等为模时是相等的的, , 可写成可写成 : A: A==B B((mod Mmod M))•对钟表来说,其模对钟表来说,其模MM==1212,故,故4 4点和点和1616点、点、5 5点和点和1717点点……均是同余的,可写作均是同余的,可写作•4 4==1616((mod 12mod 12),),5 5==1717((mod 12mod 12))•补码表示法利用模和同余的概念补码表示法利用模和同余的概念, , 可使减法运算转化成可使减法运算转化成加法加法, , 从而简化计算机的运算器电路。
从而简化计算机的运算器电路 举例举例•假设假设, , 时钟停在时钟停在8 8点点, , 而现在正确的时间是而现在正确的时间是6 6点点, , 这时拨准时钟的方法这时拨准时钟的方法有两种:有两种:●●将分针逆时钟旋转两圈将分针逆时钟旋转两圈( (即时钟倒拨即时钟倒拨2 2小时小时): 8): 8--2 2==6, 6, 做减法●●将分针顺时钟旋转将分针顺时钟旋转1010圈圈( (即正拨即正拨1010小时小时):8):8++1010==6 (mod 12 )6 (mod 12 )做加法•此时,此时, 8 8--2 2==8 8++1010((mod 12mod 12))•设:设: A A=-=-2 2,,B B==1010•则:则: 10/1210/12=(=(1212--2 2))/12/12==1 1+(-+(-2 2))/12/12•故-故-2 2和和1010同余。
同余的两个数具有互补关系同余同余的两个数具有互补关系, , --2 2与与1010对模对模1212互补,互补,即,-即,-2 2的补数是的补数是1010(以(以1212为模)•可见可见, , 只要确定了只要确定了““模模””, , 就可找到一个与负数等价的正数就可找到一个与负数等价的正数( ( 该正数该正数是负数的补数是负数的补数 ) )来代替此负数,而这个正数可用模加上负数本身求来代替此负数,而这个正数可用模加上负数本身求得得, , 这样就可把减法运算用加法实现了这样就可把减法运算用加法实现了•例例3.14: 3.14: 9 9--5 5==9 9++( (--5) 5)==9 9++(12(12--5 )5 )==9 9++7 7==4 4((mod 12mod 12))•例例3.15: 3.15: 6565--2525==6565++( (--25 )25 )==6565++(100(100--25 )25 )==6565++7575==40 (mod 100 )40 (mod 100 )((2 2)补码表示)补码表示•补码的符号位表示方法与原码相同补码的符号位表示方法与原码相同( (即正即正0, 0, 负负1 ), 1 ), 其数值其数值部分的表示与数的正负有关:部分的表示与数的正负有关:•正数正数: : 数值部分与真值形式相同;数值部分与真值形式相同;•负数负数: : 将真值的数值部分按位取反将真值的数值部分按位取反, , 且在最低位加且在最低位加1 1。
•若真值为纯小数若真值为纯小数, , 其原码形式为其原码形式为X XS S . X. X1 1X X2 2……X Xn n, , 其中其中X XS S表表示符号位示符号位•补码的定义为:补码的定义为: [X][X]补补==•例例3.163.16::X X==0.0110 [X]0.0110 [X]补补==X X==0.01100.0110 X X=-=-0.0110 [X]0.0110 [X]补补==2 2++X X==2 2++( (--0.0110) 0.0110) ==1010--0.01100.0110 == 1.10101.1010 X , 0≤XX , 0≤X<<1 1 2 2++X X==2 2--∣∣X∣ , X∣ , --1 1<<X≤0X≤0((2 2)补码表示)补码表示•若真值为纯整数若真值为纯整数, , 其原码形式为其原码形式为X XS S . X. X1 1X X2 2……X Xn n, , 其中其中X XS S表表示符号位。
示符号位•补码的定义为补码的定义为: [X]: [X]补补==•例例3.173.17::X X==1101 [X]1101 [X]补补==X X==0110101101 X X=-=-1101 [X]1101 [X]补补==2 2n+1n+1++X X==2 25 5++( (--1101)1101)==100000100000--11011101 ==10011 10011 •在补码表示中在补码表示中, , 真值真值0 0的表示形式是唯一的:的表示形式是唯一的:•[ [++0] 0]补补==[ [--0] 0]补补==0000000000————很有用处很有用处X , 0≤XX , 0≤X<<2 2n n2 2n+1n+1++X X==2 2n+1n+1--∣∣X∣ ,X∣ ,--2 2n n<<X≤0X≤0(3)(3)补码运算补码运算•采用补码运算要注意以下三个问题采用补码运算要注意以下三个问题: :● ● 符号位要与数值位部分一样参加运算。
符号位要与数值位部分一样参加运算● ● 符号运算后如有进位产生符号运算后如有进位产生, , 则把这个进位舍去不要则把这个进位舍去不要● ● 补码运算具有性质:补码运算具有性质:[X][X]补补++[Y][Y]补补==[X[X++Y]Y]补补•例例3 3..1818:已知:已知X X==0.11010.1101,,Y Y=-=-0.00010.0001,求,求[X[X++Y]Y]补补•解:解: [X][X]补补==0.11010.1101• + [Y]+ [Y]补补==1.1111 1.1111 • [X [X++Y]Y]补补==1 10.11000.1100• ↓ ↓• 舍去不要舍去不要7. 7.移码移码•移码也叫增码或偏码移码也叫增码或偏码,常用于表示浮点数中的阶码。
常用于表示浮点数中的阶码•移码就是在真值移码就是在真值X X基础上加一常数基础上加一常数, , 此常数被称为偏置值此常数被称为偏置值, , 相当于相当于X X在数轴上向正向偏移了若干单位在数轴上向正向偏移了若干单位, , 这就是这就是““移移码码””一词的由来即:一词的由来即:•对字长为对字长为n n的计算机的计算机, , 若最高位为符号位若最高位为符号位, , 数值为数值为n n--1 1位位, ,当偏移量取当偏移量取2 2 n-1n-1时时, ,其真值其真值X X对应的移码的表示公式为:对应的移码的表示公式为:•[X][X]移移== 2 2 n-1n-1 ++X X (-(- 2 2 n-1n-1 ≤X ≤X<< 2 2 n-1n-1 ))0 2n 2n+1-1 [X]移X-2n 0 2n-1[X]移移=偏置值+X图3-2 移码和真值的映射图移码与整数补码的定义比较移码与整数补码的定义比较 •移码定义移码定义: [X]: [X]移移== 2 2 n-1n-1 ++X X (-(- 2 2 n-1n-1 ≤X ≤X<< 2 2 n-1n-1 ))•整数补码的定义整数补码的定义: [X]: [X]补补==•比较后得出比较后得出两者关系两者关系: :当当0≤X0≤X<< 2 2 n-1n-1时,时,[X][X]移移== 2 2 n-1n-1 ++X X== 2 2 n-1n-1 ++[X][X]补补当-当- 2 2 n-1n-1 ≤X ≤X<<0 0时,时,[X][X]移移== 2 2 n-1n-1 ++X X==(2 (2 n n++X)X)-- 2 2 n-1n-1 == [X][X]补补-- 2 2 n-1n-1 可见,可见,[X][X]移移可由可由[X][X]补补求得求得, , 方法是把方法是把[X][X]补补的符号位求反,就得到的符号位求反,就得到[X][X]移移•例例3.193.19:已知:已知X X=+=+10101010,,Y Y=-=-10101010,求,求[X][X]移移和和[Y][Y]移移。
•解:解:[X][X]补补==0101001010,所以,所以[X][X]移移==1101011010 [Y] [Y]补补==1011010110,所以,所以[Y][Y]移移==0011000110•移码的特点移码的特点: : (1) (1) 移码的最高位为移码的最高位为0 0表示负数表示负数, , 最高位为最高位为1 1表示正数,这表示正数,这与原码、补码及反码的符号位取值正好相反与原码、补码及反码的符号位取值正好相反2)(2)移码为全移码为全0 0时时, , 它对应的真值最小它对应的真值最小; ; 为全为全1 1时时, , 它对应的真值最大它对应的真值最大3)(3)真值真值0 0的移码表示是唯一的的移码表示是唯一的, , 即即[ [++0] 0]移移==[ [--0] 0]移移==1000010000(4)同一数值的移码和补码同一数值的移码和补码, 除最高位相反外除最高位相反外, 其它各位相同其它各位相同 X , 0≤XX , 0≤X<<2 2n n2 2n+1n+1++X X==2 2n+1n+1--∣∣X∣ ,X∣ ,--2 2n n<<X≤0X≤03.2.2 3.2.2 机器数的定点与浮点表示法机器数的定点与浮点表示法 1 1.定点数表示法.定点数表示法•定点数表示法通常把小数点固定在数值部分的最高位之前定点数表示法通常把小数点固定在数值部分的最高位之前, , 或把小或把小数点固定在数值部分的最后。
前者用来表示纯小数数点固定在数值部分的最后前者用来表示纯小数, , 后者用于表示后者用于表示整数如图整数如图3-33-3所示•在计算机中在计算机中, , 图示的小数点图示的小数点“..”实际上是不表示出来的实际上是不表示出来的, , 是事先约是事先约定好固定在那里的对一台计算机来说定好固定在那里的对一台计算机来说, , 一旦确定了一种小数点的一旦确定了一种小数点的位置位置, , 整个系统就不再改变整个系统就不再改变•只能处理定点数的计算机称为只能处理定点数的计算机称为定点计算机定点计算机在这种计算机中机器在这种计算机中机器指令访问的所有操作数都是指令访问的所有操作数都是定点数定点数 符号数值部分符号数值部分纯小数表示法小数点整数表示法小数点图图3-3 3-3 定点数表示法定点数表示法定点数要选择合适的定点数要选择合适的比例因子比例因子, 确保初始数据、中间结果和最后确保初始数据、中间结果和最后结果都在定点数的表示范围之内,结果都在定点数的表示范围之内,否则就会产生否则就会产生“溢出溢出”2. 2.浮点数表示法浮点数表示法•小数点的位置可按需浮动小数点的位置可按需浮动, , 这就是浮点数。
这就是浮点数例如:例如:•N N==r rE E··MM•式中式中, r, r为浮点数阶码的底为浮点数阶码的底, , 与尾数的基数相同与尾数的基数相同, , 通常通常r r==2 2E E和和MM都是带符号的定点数都是带符号的定点数, E, E叫数叫数N N的的阶码阶码(Exponent)(Exponent),,MM为数为数N N的有效的有效数字数字, , 称为称为尾数尾数(Mantissa)(Mantissa)在大多数计算机中在大多数计算机中, , 尾数为纯小数尾数为纯小数, , 常常用原码或补码表示;阶码为纯整数用原码或补码表示;阶码为纯整数, , 常用移码或补码表示常用移码或补码表示•计算机中计算机中, , 通常用约定的通常用约定的4 4部分来表示一个浮点数:其中,部分来表示一个浮点数:其中,E Ef f 、、S S分别称为阶码分别称为阶码E E和尾数和尾数MM的符号位的符号位•按照按照IEEE754IEEE754标准,常用的浮点格式如图标准,常用的浮点格式如图3-43-4所示• EfESMmsEm尾符阶码部分用移码表示尾数数值位尾数部分,用原码表示图3-4 IEEE 754标准的浮点格式2. 2.浮点数表示法浮点数表示法•IEEE 754IEEE 754标准中有三种形式的标准中有三种形式的浮点数浮点数, , 格式见表格式见表3-13-1。
•短浮点数即短浮点数即单精度浮点数,单精度浮点数,长长浮点数即浮点数即双精度浮点数双精度浮点数, , 都采都采用隐含尾数最高数位的方法用隐含尾数最高数位的方法, , 故增加了一位尾数故增加了一位尾数临时浮点临时浮点数数又称扩展精度浮点数,无隐又称扩展精度浮点数,无隐含位•短浮点数短浮点数: :最高位为数符位最高位为数符位 ; ;其其后是后是8 8位阶码位阶码, , 以以2 2为底为底, , 用移码用移码表示表示, , 阶码的偏移值为阶码的偏移值为127(127(叫叫移移127127码码); ); 其余其余2323位是尾数的数位是尾数的数值位对规格化的二进制浮点值位对规格化的二进制浮点数,约定最高位总是数,约定最高位总是““1 1””, ,为为使尾数能多表示一位有效值,使尾数能多表示一位有效值,可将这个可将这个““1 1””隐含隐含, , 故尾数数故尾数数值实际上是值实际上是2424位位, , 即即1 1位隐含位位隐含位加加2323位小数位位小数位类型类型数符数符阶码阶码尾数位尾数位总位数总位数偏置值偏置值短浮点数短浮点数1823327FH(127)长浮点数长浮点数11152643FFH临时浮点数临时浮点数11564803FFFH短浮点数的移码的偏置值短浮点数的移码的偏置值是是127(3FH)127(3FH);长浮;长浮点数的偏置值是点数的偏置值是10231023((3FFH3FFH)。
根据移码)根据移码的定义,存储浮点数阶码部分之前,偏置值的定义,存储浮点数阶码部分之前,偏置值要先加到阶码真值上要先加到阶码真值上注意注意: :隐含的隐含的“1”是一位整数是一位整数(即位权为即位权为20),在浮点格式中表示出来的在浮点格式中表示出来的23位尾数是纯小数位尾数是纯小数,用原码表示用原码表示.如如(12)10=(1100)2,将它规格化为将它规格化为1.1× 23,其中整数部分的其中整数部分的1将不存储在将不存储在23位尾数内位尾数内. .表表3-1 IEEE 754标准中的三种浮点数标准中的三种浮点数浮点数举例浮点数举例•例例3.20: 3.20: 将将(100.25)(100.25)1010转换成短浮点数格式转换成短浮点数格式•解解: (1): (1)把十进制数转换成二进制数把十进制数转换成二进制数•(100.25)(100.25)10 10 ==(1100100.01)(1100100.01)2 2(2)(2)规格化二进制数规格化二进制数 •1100100.011100100.01==1.100100011.10010001××2 2 6 6(3)(3)计算出阶码的移码(偏置值+阶码真值)计算出阶码的移码(偏置值+阶码真值)• 1111111(127H)1111111(127H)++110 110 ==1000010110000101•注意:注意:短浮点数的阶码偏置值是短浮点数的阶码偏置值是1111111(127H)1111111(127H)。
4)(4)以短浮点数格式存储该数以短浮点数格式存储该数•该数的该数的符号位符号位==0 ,0 ,阶码阶码==1000010110000101• 尾数尾数==100100100010001000100000000000000000000000 230000 23位位•所以所以(100.25)(100.25)1010的短浮点数代码为的短浮点数代码为•0 0;;100100001000101 1;;1001001000100010001000000000000000000000000000十六进制值是十六进制值是42C88000H42C88000H110浮点数举例浮点数举例例例3 3..2121:将短浮点数:将短浮点数C1C90000HC1C90000H转换成十进制数转换成十进制数•解解: :((1 1)把十六进制数转换成二进制形式,并分离出符号位、阶码和尾数)把十六进制数转换成二进制形式,并分离出符号位、阶码和尾数•因为,因为,C1C90000HC1C90000H==110011000001000111001100100110010000000000000000000000000000B0000B•所以,所以, 符号位=符号位=1 1• 阶码=阶码=1000001110000011(用黑体字表示)(用黑体字表示) 8 8位位• 尾数=尾数=10010010000000000000000 2310010010000000000000000 23位位•((2 2)计算出阶码的真值(即移码-偏置值))计算出阶码的真值(即移码-偏置值)•1000001110000011 -1111111 -1111111==100100•((3 3)以规格化二进制数形式写出此数)以规格化二进制数形式写出此数•1.10010011.1001001××2 24 4•((4 4)写成非规格化二进制数形式)写成非规格化二进制数形式•1100011000..001001•((5 5)转换成十进制数,并加上符号位)转换成十进制数,并加上符号位•((11000.00111000.001))2 2=(=(25.12525.125))1010•总结总结:IEEE:IEEE 754 754短浮点数规格化的数值短浮点数规格化的数值v v表示为表示为v==(--1)S×(1..f)×2 E--127,•式中,式中,S S代表符号位,代表符号位,S S==0 0表示正数,表示正数,S S==1 1表示负数;表示负数;E E是用移码表示的阶是用移码表示的阶码;码;f f是尾数的小数部分。
是尾数的小数部分浮点数举例浮点数举例•例例1: 1:求十进制数求十进制数-5 -5的单精度浮点数的单精度浮点数IEEE754IEEE754代码•1100000010100000000000000000000011000000101000000000000000000000•解解: -5=-101B=-: -5=-101B=-1 1.01.01×22,阶码阶码E=127+2=129=10000001B•IEEE754IEEE754代码是代码是1 10000001 010000000000000000000001 10000001 01000000000000000000000•例例1: 1:求十进制数求十进制数0.156250.15625的单精度浮点数的单精度浮点数IEEE754IEEE754代码•解解: -0.15625=-: -0.15625=-1 1.01.01×2-3,阶码阶码E=127-3=124=01111100B•IEEE754IEEE754代码是代码是1 1 01111100 01000000000000000000000 01000000000000000000000• ↑一、判断题一、判断题1. 1. 在数字计算机中所以采用二进制是因为二进制的运算最简单。
在数字计算机中所以采用二进制是因为二进制的运算最简单2. 2. 在所有的进位计数制中,整数部分最低位的权都是在所有的进位计数制中,整数部分最低位的权都是1 13. 3. 某某R R进位计数制进位计数制, , 其左边一位的权是其相邻的右边一位的权的其左边一位的权是其相邻的右边一位的权的R R倍4. 4. 计算机表示的数发生溢出的根本原因是计算机的字长有限计算机表示的数发生溢出的根本原因是计算机的字长有限5. 5. 表示定点数时表示定点数时, , 若要求数值若要求数值0 0在计算机中唯一地表示为全在计算机中唯一地表示为全0, 0, 应采用补应采用补码6. 6. 浮点数的取值范围由阶码的位数决定,而精度由尾数的位数决定浮点数的取值范围由阶码的位数决定,而精度由尾数的位数决定7. CRC7. CRC校验码的生成和检验大多采用软件实现校验码的生成和检验大多采用软件实现8. 8. 若浮点数的尾数用补码表示,那么规格化的浮点数是指尾数数值位若浮点数的尾数用补码表示,那么规格化的浮点数是指尾数数值位的最高位是的最高位是0 0(正数)或是(正数)或是1 1(负数)9. 9. 在实际应用中在实际应用中, , 奇偶校验多采用奇校验,这是因为奇校验中不存在奇偶校验多采用奇校验,这是因为奇校验中不存在全全““0 0””代码,在某些场合下更便于判别。
代码,在某些场合下更便于判别10. 10. 显示图形时要经过复杂的数学计算,因此占用的时间要比位图图显示图形时要经过复杂的数学计算,因此占用的时间要比位图图像的时间长像的时间长二、选择题二、选择题1. 1.下列各种数制的数中最小的数是下列各种数制的数中最小的数是 A.(101001)A.(101001)2 2 B.(101001) B.(101001)BCD BCD C.(52) C.(52)8 8 D.(233) D.(233)H H习题习题3习题习题3 3•2 2.下列各种数制的数中最大的数是.下列各种数制的数中最大的数是 •A A..(1001011)(1001011)2 2 B B..75 C75 C..(112)(112)8 8 D D..(4F)H(4F)H•3 3..1010AH1010AH是是 •A A.表示一个二进制数.表示一个二进制数 B B.表示一个十六进制数.表示一个十六进制数•C C.表示一个十进制数.表示一个十进制数 D D.表示一个错误的数.表示一个错误的数•4 4.二进制数.二进制数215215转换成二进制数是转换成二进制数是 ((1 1)) ,转换成八进制数是,转换成八进制数是 ((2 2)) ,转换成十六进制数是,转换成十六进制数是 ((3 3)) 。
将二进制数将二进制数0110010001100100转换转换成十进制数是成十进制数是 ((4 4)) ,转换成八进制数是,转换成八进制数是 ((5 5)) ,转换成十,转换成十六进制数是六进制数是 ((6 6)) •((1 1))A A..11101011B B11101011B B..11101010B C11101010B C..10100001B D10100001B D..11010111B11010111B•((2 2))A A..327 B327 B..268.75 C268.75 C..252 D252 D..326326•((3 3))A A..137H B137H B..C6H CC6H C..D7H DD7H D..EAHEAH•((4 4))A A..101 B101 B..100 C100 C..110 D110 D..9999•((5 5))A A..123 B123 B..144 C144 C..80 D80 D..800800•((6 6))A A..64 B64 B..63 C63 C..100 D100 D..0AD0AD习题习题3 35 5..ASCIIASCII码是对码是对 ((1 1)) 进行编码的一种方案进行编码的一种方案, ,它是它是 ((2 2)) 的缩写。
的缩写•((1 1))A A.字符.字符 B B.汉字.汉字 C C.图形符号.图形符号 D D.声音.声音•((2 2))A A.余.余3 3码码 B B.十进制数的二进制编码.十进制数的二进制编码 • C C.格雷码.格雷码 D D.美国标准信息交换代码.美国标准信息交换代码6 6.在一个.在一个8 8位二进制数的机器中,补码表示数的范围从位二进制数的机器中,补码表示数的范围从((1 1)) (小)(小)到到((2 2)) (大),这两个数在机器中的补码表示分别为(大),这两个数在机器中的补码表示分别为((3 3))和和((4 4)) ,而数,而数0 0的补码表示为的补码表示为((5 5)) •((1 1)、()、(2 2):):•A A..-256 B-256 B..-255 C-255 C..-128 D-128 D..-127 E-127 E..0 0 •F F..+127 G+127 G..+128 H+128 H..+255 I+255 I..+256+256•((3 3)、()、(4 4)、()、(5 5):): •A A..00000000 B00000000 B..10000000 C10000000 C..01111111 D01111111 D..1111111111111111•E E..0000000000000000或或10000000 F10000000 F..0111111101111111或或1111111111111111•G G..0000000000000000或或11111111 H11111111 H..1000000010000000或或01111111011111117 7.将十进制数.将十进制数15/215/2表示成二进制浮点规格化数(阶符表示成二进制浮点规格化数(阶符1 1位,阶码位,阶码2 2位,位,数符数符1 1位,尾数位,尾数4 4位)是位)是 。
•A A..01101111 B01101111 B..01101110 C01101110 C..01111111 D01111111 D..1111111111111111习题习题3 3•8 8.十进制数.十进制数5 5的单精度浮点数的单精度浮点数IEEE754IEEE754代码为代码为 A A •A A..01000000101000000000000000000000 01000000101000000000000000000000 •B B..11000000101000000000000000000000 11000000101000000000000000000000 •C C..0110000010100000000000000000000001100000101000000000000000000000•D D..1100000010100000000000000000000011000000101000000000000000000000•9 9.能发现两位错误并能纠正一位错的编码是.能发现两位错误并能纠正一位错的编码是 。
•A A..CRCCRC码码 B B.海明码.海明码 C C.偶校验码.偶校验码 D D.奇校验码.奇校验码•1010.在大量数据传送中常用的且有效的检验法是.在大量数据传送中常用的且有效的检验法是 •A A..CRCCRC码码 B B.海明码.海明码 C C.偶校验码.偶校验码 D D.奇校验码.奇校验码•三、填空题三、填空题•1 1.计数制中使用的数据个数被称为.计数制中使用的数据个数被称为 •2 2.在用.在用 表示的机器数中,零的编码是唯一的表示的机器数中,零的编码是唯一的•3 3.信息的数字化编码是指.信息的数字化编码是指 •4 4.一个定点数由.一个定点数由 和和 两部分组成根据小数点位置不两部分组成。
根据小数点位置不同,定点数据有同,定点数据有 和和 两种表示方法两种表示方法习题习题3 35 5..BCDBCD码中,每一位十进制数字由码中,每一位十进制数字由 位二进制数码组成,用位二进制数码组成,用ASCIASCI码表示一个字符通常需要码表示一个字符通常需要 位二进制数码位二进制数码6 6.移码常用来表示浮点数的.移码常用来表示浮点数的 部分,移码和补码比较,它们除部分,移码和补码比较,它们除 外,其他各位都外,其他各位都 7 7.码距的定义是.码距的定义是 8 8..84218421码用二进制求和时码用二进制求和时, ,当和超过当和超过 时时, ,需要做需要做 修正。
修正9 9.有二进制数.有二进制数D4D3D2D1D4D3D2D1,奇偶校验值用,奇偶校验值用p p表示,则奇校验为表示,则奇校验为 ,偶校验为,偶校验为 ,奇偶校验只能检测,奇偶校验只能检测 ,无法检测,无法检测 1010.在浮点加减法运算中,当运算结果的尾数的绝对值大于.在浮点加减法运算中,当运算结果的尾数的绝对值大于1 1时,需时,需要对结果进行要对结果进行 ,其操作是,其操作是 四、计算题四、计算题1 1.用二进制数表示一个四位十进制的整数最少需要几位.用二进制数表示一个四位十进制的整数最少需要几位( (不含符号位不含符号位) )2 2.某机器字长.某机器字长3232位位, ,定点表示定点表示, ,其中其中3131位表示尾数位表示尾数,1 ,1位是符号位,问:位是符号位,问:⑴⑴定点原码整数表示时,最大正数是多少?最小负数是多少?定点原码整数表示时,最大正数是多少?最小负数是多少?⑵⑵定点原码小数表示时,最大正数是多少?最小负数是多少?定点原码小数表示时,最大正数是多少?最小负数是多少?习题习题3 33 3.写出下列二进制数的原码、反码、补码和移码。
.写出下列二进制数的原码、反码、补码和移码1 1))±±1011 1011 ((2 2))±±0 0..1101 1101 ((3 3))±±0 0 4 4.某机器字长.某机器字长1616位,浮点表示时,其中含位,浮点表示时,其中含1 1位阶符、位阶符、5 5位位阶码、阶码、1 1位尾符、位尾符、9 9位尾数,请写出它能表示的最大浮点位尾数,请写出它能表示的最大浮点数和最小浮点数数和最小浮点数5 5.字符.字符““F F””的的ASCIIASCII码为码为46H46H,请写出它的奇校验码和偶,请写出它的奇校验码和偶校验码(假定校验位加在最高位)校验码(假定校验位加在最高位)6 6.已知被校验的数据为.已知被校验的数据为101101101101,求其海明校验码求其海明校验码提示:先决定校验位的位数提示:先决定校验位的位数r=4r=4,然后根据编码规则决定,然后根据编码规则决定海明校验位的位置和数据位的位置,最后用偶校验法求海明校验位的位置和数据位的位置,最后用偶校验法求出校验位的值答案应为出校验位的值答案应为101110010010111001007 7.已知被检信息为.已知被检信息为1010, 1010, 选择的生成多项式选择的生成多项式G(X)G(X)为为X X3 3++X X++1, 1, 求求CRCCRC校验码校验码, , 并求循环余数并求循环余数, , 说明其校验原理。
说明其校验原理8 8.将二进制数.将二进制数10110101011010转换成转换成84218421码习题习题3 3五、简答题五、简答题1 1.试比较定点带符号数在计算机内的四种表示.试比较定点带符号数在计算机内的四种表示方法2 2.试述浮点数规格化的目的和方法.试述浮点数规格化的目的和方法3 3.在检错码中,奇偶校验法能否定位发生错误.在检错码中,奇偶校验法能否定位发生错误的信息位?是否具有纠错功能?的信息位?是否具有纠错功能?4 4.简述循环冗余码(.简述循环冗余码(CRCCRC)的纠错原理的纠错原理关于模关于模•1. 1.计算机本身是一个模数系统计算机本身是一个模数系统•因为机器字长有限因为机器字长有限, ,当计算结果的位数超过机器字长时当计算结果的位数超过机器字长时, ,向向更高位的进位就会丢失更高位的进位就会丢失, , 这就是机器的模这就是机器的模•2. 2.对对n+1n+1位的定点小数位的定点小数, X, XS S . X. X1 1X X2 2……X Xn n, ,符号位符号位X XS S的位权是的位权是2 20 0, ,符号位向更高位的进位要丢失符号位向更高位的进位要丢失, , 所以定点小数的模是所以定点小数的模是2 20 0 =1 =1•3. 3.对对n+1n+1位的定点整数位的定点整数, X, XS S X X1 1X X2 2……X Xn n, , 符号位符号位X XS S的位权是的位权是2 2n n, ,符号位向更高位的进位要丢失符号位向更高位的进位要丢失, , 故定点整数的模是故定点整数的模是2 2n+1n+1 。
•4. 4.原码与补码的区别原码与补码的区别•对正数对正数, , 两者完全相同两者完全相同; ;•对负数对负数, , 两者表示形式完全不同两者表示形式完全不同, , 且补码要比原码多表示且补码要比原码多表示一个最负的数原因是对于真值一个最负的数原因是对于真值0 0,原码有两种表示方式,,原码有两种表示方式,补码只有一种补码只有一种关于原码与补码关于原码与补码•举例举例:字长为字长为8位的二进制代位的二进制代码码10000000, 若其为原码若其为原码, 表示表示-0, 若其为补码若其为补码, 则不再则不再表示表示-0, 而表示绝对值最大的而表示绝对值最大的负数 此时此时,最高位的最高位的1有两有两个含义个含义, 既代表负数既代表负数, 又代表又代表这一位的位权若这是一个这一位的位权若这是一个定点整数定点整数, 其值为其值为-27=-128;;若这是一个定点小数,其值若这是一个定点小数,其值为为-20=-1•结论:结论:负数补码的表示范围负数补码的表示范围比负数原码的表示范围略宽比负数原码的表示范围略宽真值真值补码补码真值真值补码补码+000(+0)0000-001(-1)1111+001(+1)0001-010(-2)1110+010(+2)0010-011(-3)1101+011(+3)0011-100(-4)1100+000(+4)0100-101(-5)1011+101(+5)0101-110(-6)1010+110(+6)0110-111(-1)1001+111(+7)0111-1000(-8)1000n=3时整数的补码时整数的补码定点小数的表示范围定点小数的表示范围011……11最大正数最大正数20 2-1 2-2 … … 2-(n-1) 2-n 0000120 2-1 2-2 … … 2-(n-1) 2-n 最小正数最小正数结论结论:1.最大正数的数值位部分全部为最大正数的数值位部分全部为1,即最大正数即最大正数=2-1+2-2 …+2-n=1- 2-n 100……00 20=1 最小正数的数值位最低位为最小正数的数值位最低位为1,即即2-n-000……01 2-n 011……11 1-2-n原码和补码表示的绝对值最大负数原码和补码表示的绝对值最大负数( (定点小数定点小数) )11111…… 20 2-1 2-2 … … 2-(n-1) 2-n原码表示的绝对值原码表示的绝对值最大的负数最大的负数100……00 20 2-1 2-2 … … 2-(n-1) 2-n补码表示的绝对值补码表示的绝对值最大的负数最大的负数结论结论:1.原码表示时原码表示时,正数和负数的范围是对称的正数和负数的范围是对称的,故绝对值最大的负数等于正故绝对值最大的负数等于正数值加上数值加上” --”号号,其真值为-其真值为-(1 --2-n)。
2.补码表示的绝对值最大的负数等于-补码表示的绝对值最大的负数等于-1 定点整数表示的最大正数定点整数表示的最大正数与最小正数与最小正数01111…… 2n 2n-1 2n-2 … … 21 20最大正数最大正数=2n-1000……10最小正数最小正数=1 2n 2n-1 2n-2 … … 21 20原码和补码表示的绝对值最大负数原码和补码表示的绝对值最大负数( (定点整数定点整数) )11111……原码表示的绝对值原码表示的绝对值最大的负数最大的负数100……00补码表示的绝对值补码表示的绝对值最大的负数最大的负数 2n 2n-1 2n-2 … … 21 20 2n 2n-1 2n-2 … … 21 20结论结论:1.原码表示的绝对值最大负数原码表示的绝对值最大负数= --(2n --1)2.补码表示的绝对值最大负数补码表示的绝对值最大负数=-- 2n 。
浮点数的表示范围浮点数的表示范围esemsm1位 k位 1位 n位 阶码E 尾数M1.浮点数的最大正数应是浮点数的最大正数应是:阶码部分与尾数部分都为最大正数阶码部分与尾数部分都为最大正数,其值是其值是:最大正数最大正数=(1-2-n) ×22 -12.浮点数的最小正数应是浮点数的最小正数应是:尾数部分为最小正数尾数部分为最小正数, 阶码部分是绝对值阶码部分是绝对值最大的负数最大的负数:最小正数最小正数=2-n ×2-23.浮点数的绝对值最大负数应当是尾数部分为绝对值最大的负数浮点数的绝对值最大负数应当是尾数部分为绝对值最大的负数,阶码部分为最大正数阶码部分为最大正数:绝对值最大负数绝对值最大负数=-1 ×22 -1kkk假设尾数和阶码都用补码假设尾数和阶码都用补码浮点数中几个关键点的代码浮点数中几个关键点的代码表示形式表示形式011011......11……最大正数最大正数1 2k ↓ 2k-1 … … 21↓20 2-1 2-2 2-(n-1) 2-n阶符阶符数符数符阶码部分阶码部分E尾数部分尾数部分M0......000001……01 2k ↓ 2k-1 … … 21 ↓20 2-1 2-2 2-(n-1) 2-n阶码部分阶码部分E尾数部分尾数部分M最小正数最小正数01......11100……00 2k ↓ 2k-1 … … 21 ↓20 2-1 2-2 2-(n-1) 2-n阶码部分阶码部分E尾数部分尾数部分M绝对值最绝对值最大的负数大的负数关于补码关于补码•例例: :一个一个8 8位的二进制整数位的二进制整数, , 采用补码采用补码, , 由由3 3个个1 1和和5 5个个0 0组成组成, ,则最小值是多少则最小值是多少? ?•解解: : 补码可表示的补码可表示的8 8位二进制整数的最小值是位二进制整数的最小值是-128, -128, •即即1000000010000000•规律规律: :补码中补码中, , 高位高位0 0越多的数越多的数, , 绝对值越大绝对值越大. .-128 10000000-127 10000001-126 10000010-125 10000011-124 10000100…………………-2 11111110-1 11111111。

卡西欧5800p使用说明书资料.ppt
锂金属电池界面稳定化-全面剖析.docx
SG3525斩控式单相交流调压电路设计要点.doc
话剧《枕头人》剧本.docx
重视家风建设全面从严治党治家应成为领导干部必修课PPT模板.pptx
黄渤海区拖网渔具综合调查分析.docx
2024年一级造价工程师考试《建设工程技术与计量(交通运输工程)-公路篇》真题及答案.docx
【课件】Unit+3+Reading+and+Thinking公开课课件人教版(2019)必修第一册.pptx
嵌入式软件开发流程566841551.doc
生命密码PPT课件.ppt
爱与责任-师德之魂.ppt
制冷空调装置自动控制技术讲义.ppt


