版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2.12022-5-82.22022-5-82.1 进位计数制进位计数制 2.2 机器内数据及符号的表示方法机器内数据及符号的表示方法2.3 微型计算机的数据类型微型计算机的数据类型2.4 数的运算方法数的运算方法2.32022-5-8512 = 5 * 102 + 1 * 101 + 2 * 100系数系数基值基值权数权数2.42022-5-8n基本概念基本概念基值基值:一种计数制允许选用基本数字符一种计数制允许选用基本数字符号号( (数码数码) )的个数叫基数的个数叫基数 进位计数制又称为进位计数制又称为“以基值为进位的计数制以基值为进位的计数制”,基值为十叫,基值为十叫十进制十进制,基值
2、为二叫,基值为二叫二进制,二进制,基基值为八叫值为八叫八进制八进制. .权数权数:一个数字符号处在不同位时,它所代表的数值是不同一个数字符号处在不同位时,它所代表的数值是不同的。每个数字符号所表示的数值等于该数字符号值乘以一个与数的。每个数字符号所表示的数值等于该数字符号值乘以一个与数码所在位有关的常数,这个常数叫做码所在位有关的常数,这个常数叫做“位权位权”,简称,简称“权权” ,等于等于基值的幂基值的幂系数系数:数值数值 N 中各位置上的数码中各位置上的数码2.52022-5-8n进位计数制的表示方法进位计数制的表示方法 假设有一个假设有一个 r 进制的数值进制的数值 N N = (dn-
3、1dn-2d1d0 . d-1d-m)r N = dn-1rn-1 + dn-2 rn-2 + d1 r1 + d0 r0 + d-1 r-1 + + d-m r-m r: 基值基值 , ri: 权数权数, di: 系数系数. m, n:正整数,分别表示小数位和整数位正整数,分别表示小数位和整数位2.62022-5-8例例 2-1-1(43863.57)十十= 4 * 104 + 3 * 103 + 8 * 102 + 6 * 101 + 3 * 100 + 5 * 10-1 + 7 * 10-22.72022-5-8n二进制(二进制(Binary) 权权 数:数: 2n-1, 2n-2 可用
4、数码:可用数码: 0 , 1 基基 值:值: r = 2区分标志:区分标志: 在数字的末尾加上一个字母在数字的末尾加上一个字母 B 例例 如:如: 331.25 = 101001011.01 B注注: 十进制数的区分标志是在数字的末尾加上十进制数的区分标志是在数字的末尾加上一个字母一个字母 D。但是这个标志通常省略。但是这个标志通常省略。2.82022-5-8十进制十进制二进制二进制十进制十进制二进制二进制00000501011000160110200107011130011810004010091001十进制和二进制之间的对应关系十进制和二进制之间的对应关系2.92022-5-8例例 2-1
5、-2= 1 * 28 + 1 * 27 + 1 * 26 + 1 * 25 + 0 * 24 + 0 * 23 + 1 * 22 + 1 * 21 + 0 * 20( 111100110 )二二2.102022-5-8n二进制数的优缺点二进制数的优缺点优点优点二进制数便于物理元件的实现二进制数便于物理元件的实现二进制数运算简单二进制数运算简单二进制数使用器材少二进制数使用器材少便于实现逻辑运算便于实现逻辑运算缺点缺点代码冗长代码冗长不便阅读不便阅读2.112022-5-8n八进制八进制 ( Octal ) 和十六进制和十六进制 ( Hexadecimal )八进制八进制 权权 数:数: 8n-
6、1,8n-2 ,可用数码:可用数码: 0,1, 2, 3,4,5,6,7。 基基 值:值: r = 8区分标志:区分标志: 在数字的末尾加上一个字母在数字的末尾加上一个字母 O 例例 如:如: 331.25 = 513.2 O2.122022-5-8十进制十进制八进制八进制十进制十进制八进制八进制0066117722810339114410125511132.132022-5-8n例例 2-1-3( 647.32 )八八= 6 * 82 + 4 * 81 + 7 * 80 + 3 * 8-1 + 2 * 8-2= ( 423.40625 )十十2.142022-5-8十六进制十六进制 ( He
7、xadecimal ) 权权 数:数: 16n-1,16n-2,可用数码:可用数码: 0,1,2,3,4,5,6,7,8,9 ,A,B,C,D,E,F 基基 值:值: r = 16区分标志:区分标志: 在数字的末尾加上一个字母在数字的末尾加上一个字母 H 例例 如:如: 331.25 = 14B.4 H2.152022-5-8十进制十进制十六进制十六进制十进制十进制十六进制十六进制 十进制十进制 十六进制十六进制006612C117713D228814E339915F4410A16105511B17112.162022-5-8n各种数制转换成十进制各种数制转换成十进制1. 1. 按按 “权权”
8、 转换法转换法例例2-1-4 :将:将 11011.11 B 转换成十进制数转换成十进制数解:解: ( 11011.11 )二二 = 1*24 + 1*23 + 0*22 + 1*21 + 1*20 + 1*2-1 + 1*2-2 = 16 +8 + 0 + 2 + 1 + 0.5 + 0.25= 27.75 D2. 2. 基值重复相乘(相除)法基值重复相乘(相除)法2.172022-5-8例例 2-1-5 将将 732.6 O 转换成十进制数转换成十进制数解:解: 732.6 O = 7*82 + 3*81 + 2*80 + 6*8-1= 448 + 24 + 2 + 0.75= 474.7
9、52.182022-5-82. 2. 基值重复相乘(相除)法基值重复相乘(相除)法整数部分用基值反复相乘整数部分用基值反复相乘小数部分用基值反复相除小数部分用基值反复相除 设设 N 是一个四位的二进制整数是一个四位的二进制整数 N = d323 + d222 + d121 + d020= ( d322 + d221 + d1 ) * 2 + d0= ( d3 * 2 + d2 ) * 2 + d1 * 2 + d02.192022-5-8运算步骤运算步骤从最高位开始,将最高位乘以从最高位开始,将最高位乘以2,加上,加上次高位,令结果为次高位,令结果为M1M1乘以乘以2,加上第三位,令结果为,加
10、上第三位,令结果为M2M2乘以乘以2,加上第四位,令结果为,加上第四位,令结果为M3,按这种方法一直运算下去,加到最低位按这种方法一直运算下去,加到最低位为止为止1.最后,所得到的结果就是转换的结果最后,所得到的结果就是转换的结果2.202022-5-8n例例 2-1-6 2-1-6 将将 101101 B101101 B 转换成十进制数转换成十进制数解:解: M1 = 1 * 2 + 0 = 2 M2 = 2 * 2 + 1 = 5 M3 = 5 * 2 + 1 = 11 M4 = 11 * 2 + 0 = 22 M5 = 22 * 2 + 1 = 45 101101 B = 45 2.21
11、2022-5-8小数部分用基值反复相除小数部分用基值反复相除 设设 N 为四位的二进制小数为四位的二进制小数 则则 N = d-12-1 + d-22-2 + d-32-3 + d-42-4= 2-1 d-1 + 2-1 d-2 + 2-1 ( d-3 + 2-1 d-4 ) 2.222022-5-8n运算步骤运算步骤从最低位开始,将最低位除以从最低位开始,将最低位除以2 2,加上次,加上次低位,令结果为低位,令结果为R R1 1R R1 1除以除以2 2,加上第三低位,令结果为,加上第三低位,令结果为R R2 2R R2 2除以除以2 2,加上第四低位,令结果为,加上第四低位,令结果为R R
12、3 3,一,一直进行到小数点左边的直进行到小数点左边的0 0为止为止1.1.所得到的十进制小数就是转换的结果所得到的十进制小数就是转换的结果2.232022-5-8n例例 2-1-7 将将 N = 0.1011 B 转换转换为十进制小数为十进制小数解:解: R1 = ( 1 / 2 ) + 1 = 1.5 R2 = ( 1.5 / 2 ) + 0 = 0.75 R3 = ( 0.75 / 2 ) + 1 = 1.375 N = ( 1.375 / 2 ) + 0 = 0.6875 0.1011 B = 0.6875 2.242022-5-8n例例 2-1-8 将将 N = 632.43 O转换
13、转换为十进制数。为十进制数。解解:(:(1)整数部分)整数部分 632 M1 = 6*8 + 3 = 51 N整整 = 51*8 + 2 = 410 632.43 O = 410.546875 (2)小数部分)小数部分 0.43 R1 = ( 3 / 8 ) + 4 = 4.375 N小小 = ( 4.375 / 8 ) + 0 = 0.5468752.252022-5-8n将十进制数转换成其它进位制数将十进制数转换成其它进位制数将十进制数转换成将十进制数转换成 r 进制数进制数整数部分的转换整数部分的转换小数部分的转换小数部分的转换采用基值采用基值 r 反复除的反复除的“除基取余法除基取余法
14、”采用基值采用基值 r 反复乘的反复乘的“乘基取整法乘基取整法”2.262022-5-8n例例2-1-9 求十进制数求十进制数 43 的二进制表示的二进制表示解:解: 除以除以2 商商Qi 得余数得余数di 43 / 2 21 d0 = 1 21 / 2 10 d1 = 1 10 / 2 5 d2 = 0 5 / 2 2 d3 = 1 2 / 2 1 d4 = 0 1 / 2 0 d5 = 1 低低高高逆向取余数逆向取余数得:得: 43 D = 101011 B2.272022-5-8n例例2-1-10 求求 0.6875 的二进制小数值的二进制小数值解:解: 乘以乘以2 得小数得小数Fi 取
15、整数取整数di 0.6875*2 1.3750 d-1 = 1 0.3750*2 0.7500 d-2 = 0 0.7500*2 1.5000 d-3 = 1 0.5000*2 1.0000 d-4 = 1 低低高高即即 0.6875 D = 0.1011 B如果小数如果小数Fi永远不为永远不为0,怎么办?,怎么办?2.282022-5-8例例2-1-11 求求0.423的二进制小数值的二进制小数值 (精度为(精度为 2-5)?解:解: 乘以乘以2 得小数得小数Fi 取整数取整数di 0.423*2 0.846 d-1 = 0 0.846*2 1.692 d-2 = 1 0.692*2 1.3
16、84 d-3 = 1 0.384*2 0.768 d-4 = 0 低低高高即即 0.423 D = 0.01101 B 0.768*2 1.536 d-5 = 1 Stop2.292022-5-8将十进制转换成其它进位制数将十进制转换成其它进位制数例例 2-1-12 将将 0.6328125 D 转换成八进制数转换成八进制数解:解: 乘以乘以8 得小数得小数Fi 取整数取整数di 0.6328125*8 5.0625000 d-1 = 5 0.0625000*8 0.5000000 d-2 = 0 0.5000000*8 4.0000000 d-3 = 4 低低高高即即 0.6328125 =
17、 0.504 O2.302022-5-8例例2-1-13 将将 ( 3952 )十十 转换成十六进制数转换成十六进制数解:解: 除以除以16 商商Qi 余数余数di 3592 / 16 247 d0 = 0 247 / 16 15 d1 = 7 15 / 16 0 d2 = F 低低高高逆向取余数逆向取余数得:得: 3952 = F 7 0 H 2.312022-5-8n二进制与八进制、十六进制数之间的转换二进制与八进制、十六进制数之间的转换 二进制二进制 八进制八进制 三位二进制数相当于一位八进制数。三位二进制数相当于一位八进制数。1 101 110 010 . 011 001 010002
18、 1562.312 O6513122.322022-5-8n例例 2-1-14 101 000 111 001 B5071= 5071 O2.332022-5-8n二进制二进制 十六进制十六进制 四位二进制数相当于一位十六进制数。四位二进制数相当于一位十六进制数。11 0111 0010 . 0110 010100 372.65 H273652.342022-5-8n例例 2-1-15 将二进制数转化为十六进制数。将二进制数转化为十六进制数。 1010 0100 1000 B A 4 8= A48 H2.352022-5-8n真值与机器数真值与机器数真真 值值:用:用 “+”, “ - ” 来
19、表示二进制数来表示二进制数的的 符号符号 “正正”、“负负 ”机器数机器数:用:用 “0”, “1” 来表示二进制数来表示二进制数的的 符号符号“正正”、“负负”01011符号符号数值部分数值部分小数点位置小数点位置11011符号符号数值部分数值部分小数点位置小数点位置2.362022-5-8n数据编码数据编码根据用途不同:根据用途不同:原码、补码、反码原码、补码、反码为了方便人机交互为了方便人机交互有权码:有权码:8421码码、2421码、码、5421码码无权码:余无权码:余3码、格雷码码、格雷码检错能力的编码:检错能力的编码:奇偶校验码奇偶校验码、五中取二码、五中取二码纠错能力的编码:纠错
20、能力的编码:汉明码汉明码、倍数正误码、倍数正误码数字、字母、字符编码:数字、字母、字符编码:ASCII码码、EBCDIC码、汉字编码码、汉字编码2.372022-5-8n带符号数与不带符号数带符号数与不带符号数0 0 0 0 0 0 0 01 1 1 1 1 1 1 1数值位数值位8位不带符号数位不带符号数表数范围:表数范围:0 - 2550 0 0 0 0 0 0 10 0 0 0 0 0 1 00 0 0 0 0 0 1 11 1 1 1 1 1 1 0.2.382022-5-8n带符号数与不带符号数带符号数与不带符号数表表数数范围:范围:0 - 127带符号数带符号数0 0 0 0 0
21、0 0 00 1 1 1 1 1 1 1数值位数值位符号位符号位表表数数范围:范围:-1 - -1271 0 0 0 0 0 0 11 1 1 1 1 1 1 1数值位数值位符号位符号位带符号数带符号数2.392022-5-816 位的无符号数表数范围是:位的无符号数表数范围是:0 65535有符号数的表示范围:有符号数的表示范围: -32765 +327652.402022-5-8n定点与浮点表示定点与浮点表示定点数定点数纯小数纯小数:小数点固定在符号位之后,:小数点固定在符号位之后,如如1.1010111,此时机器中所有的数都是小数。,此时机器中所有的数都是小数。纯整数纯整数:小数点固定在
22、最低位之后,:小数点固定在最低位之后,如如11010111.,此时机器中所有的数都是整数。,此时机器中所有的数都是整数。SfS1S2S3S4符号符号数值部分数值部分小数点位置小数点位置SfS1S2S3S4符号符号 数值部分数值部分小数点位置小数点位置2.412022-5-8带符号的数带符号的数 符号数字化的数符号数字化的数+ 0.10110 1011小数点的位置小数点的位置+ 11000 1100小数点的位置小数点的位置 11001 1100小数点的位置小数点的位置 0.10111 1011小数点的位置小数点的位置真值真值 机器数机器数 机器数与真值机器数与真值有符号数的定点数有符号数的定点数
23、2.422022-5-8浮点表示法浮点表示法为什么要用浮点表示法为什么要用浮点表示法 计算机处理的数据不一定是纯小数或者计算机处理的数据不一定是纯小数或者纯整数。纯整数。 有些数据的数之范围相差很大,不能用有些数据的数之范围相差很大,不能用定点小数或者定点整数表示,但均可用浮定点小数或者定点整数表示,但均可用浮点整数表示。点整数表示。 如:电子的质量如:电子的质量 9*10-28克克352.47 = 3.5247 * 102 = 3524.7 * 10-1 = 0.35247 * 103 2.432022-5-8数学表示数学表示N = S * rjr :基值:基值 j :r 的指数(阶值)的指
24、数(阶值) S:N 的有效数字的有效数字 N = S * 2jj :r=2 的指数的指数(阶值)(阶值) S:浮点数的尾数:浮点数的尾数对二进制而言对二进制而言:2.442022-5-8 N = 11.0101 = 0.110101 * 210 = 1.10101 * 201 = 1101.01 * 2-10 = 0.00110101 * 2100 10,01, -10,100 表示的是什么?表示的是什么?注意注意:这是二进制的表示方式,基数为这是二进制的表示方式,基数为2, 有效数字和阶值都要用二进制表示有效数字和阶值都要用二进制表示2.452022-5-8浮点数的表示形式浮点数的表示形式j
25、fj1j2j3jmSfS1S2S3S4S5S6S7Sn阶符阶符阶值阶值尾符尾符尾数尾数尾数:尾数:表示了数的精度,位数越多,精度越高表示了数的精度,位数越多,精度越高阶值:阶值:表示了数的表示范围,位数越多,表示表示了数的表示范围,位数越多,表示范围越大范围越大2.462022-5-8机器字长一定,如何提高浮点数的表示精度?机器字长一定,如何提高浮点数的表示精度?0.000010101如何用最少的位数如何用最少的位数获得更多的有效数字?获得更多的有效数字?规格化规格化2.472022-5-8规格化数规格化数非规格化数非规格化数 如果尾数的第一位数字是如果尾数的第一位数字是1时,该时,该数即是规
26、格化的数。数即是规格化的数。例如:例如: 1.1010111 0.1010001 如果尾数的第一位数字是如果尾数的第一位数字是0时,时,该数即是非规格化的数。该数即是非规格化的数。例如:例如: 1.001010111 0.0010100010.1 |S| 最大阶玛最大阶玛下溢下溢 阶码阶码 最小阶码最小阶码 按按 机器零机器零 处理处理2.552022-5-81. 原码原码 ( 机器数机器数 ) 为了表示数的符号,可在数的最高位之为了表示数的符号,可在数的最高位之前增设一位符号位,符号位为前增设一位符号位,符号位为 0 表示正数,表示正数,符号位为符号位为 1 表示负数,这样规定的二进制码表示
27、负数,这样规定的二进制码被称为被称为原码原码。例如例如:(假设机器字长为:(假设机器字长为 8 位位)X1 = + 1011010 则则 X1 原原 = 01011010X2 = - 1011010 则则 X2 原原 = 110110102.562022-5-8整数的原码数学表示整数的原码数学表示 0 , x , 0 x 2n-1x原原 = 2n-1 x , - 2n-1 x 0其中:其中: x 为真值为真值 ,n 为机器字长。为机器字长。例例2-2-4. 假设机器字长为四位,求假设机器字长为四位,求x的原码的原码?x = + 101x原原 = 0101 x = - 101x原原 = 24-1
28、 ( - 101 )= 1000 ( - 101 )= 11012.572022-5-8小数的原码数学表示小数的原码数学表示 x , 0 x 1x原原 = 1 x , -1 x 0其中:其中: x 为真值为真值例例2-2-5 :求:求x的原码的原码?x = + 0.1010 x原原 = 0. 1010 x = - 0.0011x原原 = 1 ( - 0.0011 )= 1 + 0.0011= 1.00112.582022-5-8例例2-2-6 :已知:已知 x = 0.0000,求,求 x原原+ 0.0000原原 = 0.0000 - 0.0000原原 = 1 (- 0.0000) = 1.0
29、000在原码表示法中,在原码表示法中,+ 0.0000 和和 0.0000 的值不同的值不同小数的原码数学表示小数的原码数学表示 x , 0 x 1x原原 = 1 x , -1 |B|A|B|加加正正正正加加正正正正正正负负减减正正负负负负正正减减负负正正负负负负加加负负负负减减正正正正减减正正负负正正负负加加正正正正负负正正加加负负负负负负负负减减负负正正2.602022-5-8(1) 补的概念补的概念 时钟时钟逆时针逆时针- 363顺时针顺时针+ 9 615- 123可见可见 3 可用可用 + 9 代替代替记作记作 3 + 9 (mod 12)同理同理 4 + 8 (mod 12) 5 +
30、 7 (mod 12) 时钟以时钟以 12为模为模减法减法 加法加法称称 + 9 是是 3 以以 12 为模的补数为模的补数2.612022-5-8补补 码码 的的 实实 例例 计数器计数器(模(模 16) 101110110000+ 0101 1011100001011 0000 ?可见可见 1011 可用可用 + 0101 代替代替记作记作 1011 + 0101 (mod 24)同理同理 011 + 101 (mod 23) 0.1001 + 1.0111 (mod 2)自然去掉自然去掉2.622022-5-8(2) 结结 论论 2. 一个负数加上一个负数加上 “模模” 即得该负数的补数
31、。即得该负数的补数。1. 两个互为补数的数两个互为补数的数 它们绝对值之和即为它们绝对值之和即为 模模 数。数。3. 正数的补数即为其本身正数的补数即为其本身 。2.632022-5-8(3) 补补 码码 (符号数字化的补数)(符号数字化的补数)整数整数x 为真值,为真值,n 为整数的位数。为整数的位数。x补补 = 0,x 2n x 02n+1 + x 0 x 2n(mod 2n+1)如如x = +1010 x补补 = 27+1 +( 1011000 )= 1000000001011000 x补补 = 0,1010 x = 10110001,0101000用用 逗号逗号 将符号位将符号位和数值
32、位隔开和数值位隔开2.642022-5-8小数小数x 为真值。为真值。x = + 0.1110 x补补 = x 1 x 02 + x 0 x 1(mod 2)如如x补补 = 0.1110 x = 0.11000001.0100000 x补补 = 2+( 0.1100000 )= 10.00000000.1100000用用 小数点小数点 将符号位将符号位和数值位隔开和数值位隔开2.652022-5-8(4) 求求 补补 码码 的的 快快 捷捷 方方 式式= 100000= 1,011010101 + 1= 1,0110 又又x原原 = 1,1010则则x补补 = 24+1 1010= 11111
33、 + 1 1010= 1111110101010当真值为当真值为 负负 时,时,补码补码 可用可用 原码除符号位外原码除符号位外每位取反,末位加每位取反,末位加 1 求得求得+ 1设设 x = 1010 时时2.662022-5-8 举举 例例解:解:x = + 0.0001解:由定义得解:由定义得x = x补补 2 = 1.0001 10.0000 x原原=1.1111例例2-2-8: 已知已知 x补补 = 1.0001求求 x ?x补补 x原原 ?由定义得由定义得例例 2-2-7: 已知已知 x补补 = 0.0001求求 x ?x = 0.1111 = 0.1111 对于对于 负负 的小数
34、,的小数,原码原码 可用可用 补码除符补码除符号位外,每位取反,末位加号位外,每位取反,末位加 1 求得。求得。2.672022-5-8例例2-2-9:解:解:x = x补补 24+1 = 1,1110 100000 x原原=1,0010对于对于 负负 的整数,的整数,原码原码 可用可用 补码除符号位外补码除符号位外每位取反,末位加每位取反,末位加 1 求得求得x补补 x原原 ? x = 0010= 0010求求 x ?已知已知 x补补 = 1,1110由定义得由定义得2.682022-5-8真值真值0, 10001101, 01110100.11101.00100.00000.00001.0
35、0000,10001101,10001100.11101.11100.00001.0000不能表示不能表示练习练习求下列真值的补码求下列真值的补码x = + 70 x = 0.1110 x = 0.0000 x = 70 x = 0.1110 x = 0.0000 x = 1.0000 1补补 = 2 + x = 10.0000 1.0000 = 1.0000+ 0补补 = 0补补由小数补码定义由小数补码定义x补补 = x 1 x 02+ x 0 x 1(mod 2)= 1000110= 1000110 x补补 x原原2.692022-5-83. 反反 码码末位不用加末位不用加1的补码的补码整
36、整 数数x反反 = 0,x 2n x 0( 2n+1 1) + x 0 x 2n(mod 2n+1 1)如如x = +1101x反反 = 0,1101 = 1,0010 x = 1101x反反 = (24+1 1) 1101 = 11111 1101用用 逗号逗号 将符号位将符号位和数值位隔开和数值位隔开x 为真值为真值n 为整数的位数为整数的位数2.702022-5-8小小 数数x = +0.1101x反反 = 0.1101x = 0.1010 x反反 = (2 2-4) 0.1010= 1.1111 0.1010= 1.0101如如x反反 = x 1 x 0( 2 2-n) + x 0 x
37、 1(mod 2 2-n)用用 小数点小数点 将符号位将符号位和数值位隔开和数值位隔开x 为真值为真值2.712022-5-8举举 例例例例2-2-12:求求 0 的反码的反码设设 x = +0.0000 x = 0.0000+0.0000反反= 0.0000 0.0000反反= 1.1111 + 0反反 0反反 解:解:同理,对于整数同理,对于整数+0反反= 0,0000 0反反= 1,1111例例2-2-11:已知已知 x反反 = 1,1110 求求 x?由定义得由定义得x = x反反 (24+1 1)= 1,1110 11111= 0001例例2-2-10:已知已知 x反反 = 0,11
38、10 求求 x?解:解:由定义得由定义得 x = + 1110解:解:2.722022-5-8例例2-2-13:000000000000000100000010011111111000000010000001111111011111111011111111128129-0-1-128-127-127-126二进制代码二进制代码 无符号数无符号数对应的真值对应的真值原码对应原码对应 的真值的真值补码对应补码对应 的真值的真值反码对应反码对应 的真值的真值012127253254255-125-126-127-3-2-1-2-1-0+0+1+2+127+0+1+2+127+0+1+2+127+0
39、设机器数字长为设机器数字长为 8 位(其中一位为符号位)位(其中一位为符号位)对于整数,当其分别代表无符号数、原码、补码和对于整数,当其分别代表无符号数、原码、补码和反码时,对应的真值范围各为多少?反码时,对应的真值范围各为多少?2.732022-5-8例例2-2-14:解:解:已知已知 y补补 求求 y补补 y补补 = 0. y1 y2 yny = 0. y1 y2 yny = 0. y1 y2 yn y补补 = 1.y1 y2 yn + 2-n y补补 = 1. y1 y2 yn y原原 = 1.y1 y2 yn + 2-n y = (0. y1 y2 yn + 2-n) y = 0. y
40、1 y2 yn + 2-n y补补 = 0. y1 y2 yn + 2-n设设 y补补 = y0. y1 y2 yn每位取反,每位取反,即得即得 y补补y补补连同符号位在内,连同符号位在内,末位加末位加 1每位取反,每位取反,即得即得 y补补y补补连同符号位在内,连同符号位在内,末位加末位加 12.742022-5-8n小结小结机器数的最高位是符号位,机器数的最高位是符号位,0为正,为正,1为负。书为负。书写上用写上用“,”(整数)或(整数)或“.”(小数)将数值(小数)将数值部分和符号位隔开。部分和符号位隔开。正数正数x, 原码原码 = 补码补码 = 反码。反码。负数负数x: 符号位为符号位
41、为1,x原原:数值部分与真值绝对值相同:数值部分与真值绝对值相同x补补:数值部分为将真值尾数逐位求反,最:数值部分为将真值尾数逐位求反,最低位加低位加1x反反:尾数部分为将真值的尾数按位取反:尾数部分为将真值的尾数按位取反2.752022-5-8 1. BCD码码 (Binary Coded Decimal)二进制表示的十进制数编码二进制表示的十进制数编码常用的常用的BCD码为码为 8421 BCD码(码(每位每位十进制数十进制数用用四位四位二进制数表示)二进制数表示)3 4 转换为转换为BCD码为:码为:0011 01009 0 转换为转换为BCD码为:码为:1001 0000BCD码的用途
42、码的用途可以表示数,并在计算机内直接参加运算可以表示数,并在计算机内直接参加运算BCD码可以在数的转换过程中,做中间表示码可以在数的转换过程中,做中间表示2.762022-5-8 2. 奇偶校验码奇偶校验码作用:为了防止信息在存储及传输过程中发作用:为了防止信息在存储及传输过程中发生错误而设置的附加码生错误而设置的附加码编码种类:编码种类:奇校验:保证奇校验:保证“1” 的个数为奇数的个数为奇数 0101 10101偶校验:保证偶校验:保证“1” 的个数为偶数的个数为偶数 0101 001012.772022-5-8 3. ASCII码码( American Standard Code for
43、 Information Interchange )目的:为了表示、传输打字机或键盘上面的目的:为了表示、传输打字机或键盘上面的所有符号所有符号ASCII码长码长7位,可表示位,可表示128个符号,包括数个符号,包括数字、英文字母(大写和小写)、字、英文字母(大写和小写)、34个专用字个专用字符和符和32个通用控制字符。个通用控制字符。最高位增加一位校验位,正好占一个字节。最高位增加一位校验位,正好占一个字节。(汉字编码有机可乘汉字编码有机可乘)2.782022-5-8n汉明码汉明码 ( 具有检测及纠错能力的编码具有检测及纠错能力的编码 )n循环冗余校验码循环冗余校验码(CRC码)码)2.79
44、2022-5-8n字符型数据字符型数据n单字整数单字整数n双字整数双字整数n短实数(浮点数)短实数(浮点数)n长实数(双精度型浮点数)长实数(双精度型浮点数)2.802022-5-8n为了能够最大限度地扩大机器数的表示范围,为了能够最大限度地扩大机器数的表示范围,PC机中的每一类数据类型都分为机中的每一类数据类型都分为“带符号数带符号数”和和“不带符号数不带符号数”。n一个数据是一个数据是“带符号数带符号数”还是还是“不带符号数不带符号数”,由机器指令来辨别。由机器指令来辨别。n对于对于“带符号数带符号数”,其最高位为符号位,其最高位为符号位,“0”代代表正数,表正数,“1”代表负数。代表负数
45、。2.812022-5-8字符型整数字符型整数S数值数值7 6 0单单 字字 整整 数数S数值数值15 14 0双双 字字 整整 数数S数值数值 31 30 0 对于不带符号数,上述符号位用于表示数值。对于不带符号数,上述符号位用于表示数值。2.822022-5-8整数类型数的表示范围整数类型数的表示范围类类 型型带带 符符 号号 数数无无 符符 号号 数数字字 符符 型型-128 x 1270 x 255单单 字字-32768 x + 327670 x 65535双双 字字-2*109 x +2*109-10 x 4*109-12.832022-5-8S 偏移的阶码偏移的阶码有效位有效位短实
46、数短实数S 偏移的阶码偏移的阶码有效位有效位长实数长实数31 30 23 22 08位位63 62 52 51 011位位2.842022-5-8移码表示法移码表示法补码表示很难直接比较其真值大小补码表示很难直接比较其真值大小如如 十进制十进制x = +21x = 21x = +31x = 31x + 25+10101 + 100000+11111 + 10000010101 + 10000011111 + 100000大大大大错错错错大大大大正确正确正确正确0,101011,010110,111111,00001+10101 10101+11111 11111= 110101= 001011
47、= 111111= 000001二进制二进制补码补码2.852022-5-8(1) 移码定义移码定义x 为真值,为真值,n 为为 整数的位数整数的位数移码在数轴上的表示移码在数轴上的表示x移码移码2n+112n2n 12n00真值真值如如x = 10100 x移移 = 25 + 10100用用 逗号逗号 将符号位将符号位和数值位隔开和数值位隔开x = 10100 x移移 = 25 10100 x移移 = 2n + x(2nx 2n)= 1,10100= 0,011002.862022-5-8(2) 移码和补码的比较移码和补码的比较设设 x = +1100100 x移移 = 27 + 11001
48、00 x补补 = 0,1100100设设 x = 1100100 x移移 = 27 1100100 x补补 = 1,0011100补码与移码只差一个符号位补码与移码只差一个符号位= 1,1100100= 0,001110010012.872022-5-8- 1 0 0 0 0 0- 1 1 1 1 1- 1 1 1 1 0- 0 0 0 0 1 0 0 0 0 0+ 0 0 0 0 1+ 0 0 0 1 0+ 1 1 1 1 0+ 1 1 1 1 1真值真值 x ( n = 5 )x补补x移移x 移移对应的对应的十进制整数十进制整数(3) 真值、补码和移码的对照表真值、补码和移码的对照表012
49、3132333462630 0 0 0 0 00 0 0 0 1 00 0 0 0 0 10 1 1 1 1 11 0 0 0 0 01 0 0 0 0 11 0 0 0 1 01 1 1 1 1 01 1 1 1 1 10 1 1 1 1 10 1 1 1 1 00 0 0 0 1 00 0 0 0 0 10 0 0 0 0 01 1 1 1 1 11 0 0 0 1 01 0 0 0 0 11 0 0 0 0 0- 1 0 0 0 0 0 0 0 0 0 0+ 1 1 1 1 10 0 0 0 0 01 1 1 1 1 10 0 0 0 0 01 0 0 0 0 02.882022-5-8
50、 当当 x = 0 时时 +0移移 = 25 + 0 0移移 = 25 0 + 0 移移 = 0 移移 当当 n = 5 时时 最小的真值为最小的真值为 25 100000移移可见,可见,最小真值的移码为全最小真值的移码为全 0(4) 移码的特点移码的特点 用移码表示浮点数的阶码能方用移码表示浮点数的阶码能方便地便地判断浮点数的阶码大小判断浮点数的阶码大小= 1,00000= 1,00000= 100000= 000000= 251000002.892022-5-8n数的运算的种类数的运算的种类算术运算算术运算逻辑运算逻辑运算 与、或、非、异或与、或、非、异或2.902022-5-8n逻辑非(
51、求反)逻辑非(求反)NOT国标符号国标符号国际符号国际符号运算规则运算规则AA0110AAAA2.912022-5-8例例1, x = 10110101,y = 01100010,求其非?求其非? NOT x = 01001010 NOT y = 100111012.922022-5-8n逻辑加逻辑加OR国标符号国标符号国际符号国际符号运算规则运算规则ABA B000011101111+ABA BABY(A B)2.932022-5-8例例2, x = 10110101 , y = 01100010 。 求求x OR y? 解:解: x OR y = 10110101 OR 01100010
52、= 111101112.942022-5-8n逻辑乘逻辑乘AND国标符号国标符号国际符号国际符号运算规则运算规则ABA B000010100111ABA BABY(A B)2.952022-5-8例例3, x = 10110101, y = 01100010。 求求x AND y? 解:解: x AND y = 10110101 AND 01100010 = 001000002.962022-5-8n逻辑异或(逻辑异或(按位加按位加)国标符号国标符号国际符号国际符号运算规则运算规则ABA BABA B000011101110Y(A B)AB2.972022-5-8例例4,x = 1011010
53、1,y = 01100010 。 求求 x XOR y 解:解:x XOR y = 10110101 XOR 01100010 = 110101112.982022-5-8一、移位运算一、移位运算(循环、逻辑、算术循环、逻辑、算术)1. 移位的意义移位的意义15 米米 = 1500 厘米厘米 小数点右移小数点右移 2 位位机器用语机器用语15 相对于小数点相对于小数点 左移左移 2 位位( 小数点不动小数点不动 ).左移左移 绝对值扩大绝对值扩大右移右移 绝对值缩小绝对值缩小在计算机中,在计算机中,移位与加减配合,能够实现乘除运算移位与加减配合,能够实现乘除运算2.992022-5-82. 算
54、术移位规则算术移位规则1右移右移 添添 1左移左移 添添 00反反 码码补补 码码原原 码码负数负数0原码、补码、反码原码、补码、反码正数正数添补代码添补代码码码 制制符号位不变符号位不变2.1002022-5-8例例1 设机器数字长为设机器数字长为 8 位(含一位符号位位(含一位符号位),),写出写出A = +26时,三种机器数左、右移一位和两位后的表时,三种机器数左、右移一位和两位后的表示形式及对应的真值,并分析结果的正确性。示形式及对应的真值,并分析结果的正确性。解:解:A = +26则则 A原原 = A补补 = A反反 = 0,0011010 + 60,0000110+130,0001
55、101+1040,1101000+ 520,0110100 +260,0011010移位前移位前A原原=A补补=A反反对应的真值对应的真值机机 器器 数数移位操作移位操作1212= +11010 2.1012022-5-8例例2设机器数字长为设机器数字长为 8 位(含一位符号位位(含一位符号位),),写出写出A = 26时,三种机器数左、右移一位和两位后的表时,三种机器数左、右移一位和两位后的表示形式及对应的真值,并分析结果的正确性。示形式及对应的真值,并分析结果的正确性。解:解:A = 26 61,0000110 131,0001101 1041,1101000 521,0110100 26
56、1,0011010移位前移位前对应的真值对应的真值机机 器器 数数移位操作移位操作1212原码原码= 11010 2.1022022-5-8 61,1111001 131,1110010 1041,0010111 521,1001011 261,1100101移位前移位前对应的真值对应的真值机机 器器 数数移位操作移位操作1212 71,1111001 131,1110011 1041,0011000 521,1001100 261,1100110移位前移位前对应的真值对应的真值机机 器器 数数移位操作移位操作1212补码补码反码反码2.1032022-5-83. 算术移位的硬件实现算术移位的
57、硬件实现(a)真值为正真值为正 (b)负数的原码负数的原码(c)负数的补码负数的补码(d)负数的反码负数的反码000100丢丢 1丢丢 1出错出错影响精度影响精度出错出错影响精度影响精度正确正确影响精度影响精度正确正确正确正确2.1042022-5-84. 算术移位和逻辑移位的区别算术移位和逻辑移位的区别算术移位算术移位有符号数的移位有符号数的移位逻辑移位逻辑移位无符号数的移位无符号数的移位逻辑左移逻辑左移逻辑右移逻辑右移低位添低位添 0,高位移丢,高位移丢高位添高位添 0,低位移丢,低位移丢例如例如 01010011逻辑左移逻辑左移10100110逻辑右移逻辑右移01011001算术左移算术
58、左移算术右移算术右移0010011011011001(补码)(补码)00101100102.1052022-5-8二、加减法运算二、加减法运算1. 补码加减运算公式补码加减运算公式(1) 加法加法 (2) 减法减法 整数整数 A补补 + B补补= A+B补补(mod 2n+1)小数小数 A补补 + B补补= A+B补补(mod 2)AB = A+(B )整数整数 A B补补= A+(B )补补= A补补 + B补补(mod 2n+1)小数小数 A B补补= A+(B )补补(mod 2)连同符号位一起相加,符号位产生的进位自然丢掉连同符号位一起相加,符号位产生的进位自然丢掉= A补补 + B补
59、补2.1062022-5-82. 举例举例解:解:A补补B补补A补补 + B补补+= 0 . 1 0 1 1= 1 . 1 0 1 1= 1 0 . 0 1 1 0 = A + B补补验证验证例例 3设设 A = 0.1011,B = 0.0101求求 A + B补补0.1011 0.01010.0110 A + B补补= 0 . 0 1 1 0A补补B补补A补补 + B补补+= 1 , 0 1 1 1= 1 , 1 0 1 1= 1 1 , 0 0 1 0= A + B补补例例 4设设 A = 9,B = 5. 求求 A+B?解:解: A + B = 1110 B = - 142.10720
60、22-5-8例例 5设机器数字长为设机器数字长为 8 位(含位(含 1 位符号位)位符号位)且且 A = 15, B = 24,用补码求用补码求 A B解:解:A = 15 = 0001111BB = 24 = 0011000BA补补 + B补补+A补补= 0, 0001111 B补补= 1, 1101000= 1, 1110111= A B补补B补补 = 0, 0011000练习练习 1设设 x = y = 用补码求用补码求 x+y9161116x + y = 0.1100B =1216练习练习 2 设机器数字长为设机器数字长为 8 位(含位(含 1 位符号位)位符号位) 且且 A = 97
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 狐狸的烦恼课件
- 肾透析护理技术规范分享
- 分级护理健康教育实施要点
- 离婚女方财产协议书
- 租房押金变更协议书
- 租赁合同合同变更协议
- 租赁宅基修路协议书
- 窗口争吵调解协议书
- 签夫妻忠诚协议书
- 糖尿病签约协议书
- 音乐推广合同范本
- 年度得到 · 沈祖芸全球教育报告(2024-2025)
- DB11∕T 2192-2023 防汛隐患排查治理规范 市政基础设施
- 贵州省防雷检测专业技术人员资格参考试题库(含答案)
- 住院患者身体约束护理团标精神科保护性约束实施及解除专家共识
- 小学五年级家长会语文老师的课件
- AI在药物研发中的应用
- 危险化学品-危险化学品的运输安全
- 2023建筑结构弹塑性分析技术规程
- 教学查房(针灸科)
- 新人教版七至九年级英语单词表
评论
0/150
提交评论