丶第4章计算机运算与编码基础 4.1进位计数制及其运算 4.2数值在计算机中的表示 4.3信息编码
第4章 计算机运算与编码基础 4.1 进位计数制及其运算 4.2 数值在计算机中的表示 4.3 信息编码
4.1进位计数制及其运算 4.1.1进位计数制及其转换 1.基数( Radix) 不同的计数制是以基数r来区分的: r=10为十进制,可使用0,1,…,9共10个 数符; r=2为二进制,可使用0,1共2个数符; r=8为八进制,可使用0,1,2,…,7共8个 数符; °r=16为十六进制,可使用0,1,2,….,9, A,B,C,D,E,F共16个数符
4.1 进位计数制及其运算 4.1.1 进位计数制及其转换 1. 基数(Radix) 不同的计数制是以基数r来区分的: • r=10 为十进制,可使用0,1,…,9共10个 数符; • r=2 为二进制,可使用0,1共2个数符; • r=8 为八进制,可使用0,1,2,…,7共8个 数符; • r=16 为十六进制,可使用0,1,2,…,9, A,B,C,D,E,F共16个数符
2.二进制数 计算机内部是一个二进制数字世界,只有 两个数符即0和1 采用二进制表示信息有以下几个优点: (1)易于物理实现 (2)二进制数运算简单 (3)机器可靠性高 (4)通用性强 进制运用于数值信息编码,适用于各种 非数值信息的数字化编码。特别是仅有的两个 符号0和1正好与逻辑命题的两个值“真”与 “假”相对应
2. 二进制数 计算机内部是一个二进制数字世界,只有 两个数符即0和1。 采用二进制表示信息有以下几个优点: (1) 易于物理实现 (2) 二进制数运算简单 (3) 机器可靠性高 (4) 通用性强 二进制运用于数值信息编码,适用于各种 非数值信息的数字化编码。特别是仅有的两个 符号0和1正好与逻辑命题的两个值“真”与 “假”相对应
3.r进制转换为十进制 对于任意的r进制数,可以用以下的展开和式 an…a1aona1…a-m()=an"+…+a1+a0+a1+…+amr 其中r为基数,整数为n+1位,小数为m位。 例4-1分别把(1101.01)2,(237.4)8,(A5.C)16转换为十进制数。 解:分别按以上展开和式得 (1101.01)2=1×23+1×22+0×21+1×20+0×2-1+1×22 8+4+1+025=13.25 (2374)=2×82+3×8+7×8+4×8-=128+24+7+0.5=1595 (A5C)16=10×16+5×160+12×16=160+5+075=16575
3. r进制转换为十进制 对于任意的 r 进制数,可以用以下的展开和式 m m n n m n a a a a a r a r a r a a r a r 1 1 0 1 1 0 1 . ( ) 其中 r 为基数,整数为 n+1 位,小数为 m 位。 例 4-1 分别把(1101.01)2,(237.4)8,(A5.C)16 转换为十进制数。 解: 分别按以上展开和式得 3 2 1 0 1 2 (1101.01) 2 1 2 1 2 0 2 1 2 0 2 1 2 8410.2513.25 (237.4) 2 8 3 8 7 8 4 8 128 24 7 0.5 159.5 2 1 0 1 8 ( 5. ) 10 16 5 16 12 16 160 5 0.75 165.75 1 0 1 16 A C
4.十进制整数转换为r进制数 十进制整数t转换为r进制整数:t=an…a1a0(r)。 转换规则为除r取余法:由r进制整数按位展开公式的以下变形 式 a1an(r)=ar"+…+a1r+a =(…(0+an)+an)+…+a2)r+a1)r+ao t除以r,商为整数(…(0+an)+an1)r+…+a2)+a1,余数为a0 所得商再除以r,商为整数((0+any+anA)+…)+a2,余数为a; 依此类推,直至商为0,余数为a
4. 十进制整数转换为r进制数 十进制整数 t 转换为 r 进制整数: ( ) 1 0 t a a a r n 。 转换规则为除 r取余法: 由r进制整数按位展开公式的以下变形 式 1 0 1 0 t a a a (r) a r a r a n n n 1 2 1 0 (( ((0 a )r a )r a )r a )r a n n t 除以 r,商为整数 1 2 1 ( ((0 a )r a )r a )r a n n ,余数为 0 a ; 所得商再除以 r,商为整数 1 2 ( ((0 a )r a )r ) a n n ,余数为a1 ; 依此类推,直至商为 0,余数为 n a
例4-2求13=( 解:实施除2取余 商 余数 13/2=6 1(低) 6/2=3 3/2=1 1/2=0(结束)1(高) 十进制数13转换为二进制数的结果为 13=(1101)2
例4-2 求 13=( )2 解: 实施除2取余 商 余数 13/2=6 1 (低) 6/2 =3 0 3/2 =1 1 1/2 =0(结束) 1 (高) 十进制数13转换为二进制数的结果为 13=(1101)2
5.十进制小数t转换为r进制小数 十进制小数t转换为r进制小数:t=0.a-1…a-m(r) 转换规则为乘r取整法:由r进制小数按位展开公式的以下变形式 t=0.a1…an(r)=a1r1+a2r2+…+anr=m =(a1+(a2+…+(0+a-m/).-) t乘r,得整数部分为a,小数部分为(a2+…+(0+am)… 小数部分再乘r,得整数部分为a2,小数部分为 (…+(0 依此类推,直至小数部分为0,此时整数部分为a-m,转换完成
5. 十进制小数t转换为r进制小数 十进制小数 t 转换为 r 进制小数: 0. ( ) 1 t a a r m 。 转换规则为乘 r 取整法: 由 r 进制小数按位展开公式的以下变形式 m m m t a a r a r a r a r 2 2 1 1 1 0. ( ) r r r a a a m 1 ) 1 ) 1 ( ( (0 ) 1 2 t 乘 r,得整数部分为 a1 ,小数部分为 r r a a m 1 ) 1 ( (0 ) 2 ; 小数部分再乘 r,得整数部分为a2 ,小数部分为 ) 1 ( ( 0 ) r a m ; 依此类推,直至小数部分为 0,此时整数部分为 am ,转换完成
例4-4求(0375)=( )2 解:对小数反复实施乘2取整,直到小数部分为零时止 整数部分 小数部分 0.375×2=0.75=0(高) 0.75 0.75×2=1.5 0.5 0.5×2=1.0=1(低) 0(结束) 转换后的结果为:(0.375)10=(0.011)2
例 4-4 求 10 2 (0.375) ( ) 解: 对小数反复实施乘 2 取整,直到小数部分为零时止。 转换后的结果为: 10 2 (0 .375 ) (0 .011 ) 整数部分 小数部分 0.375×2 = 0.75 = 0 (高) + 0.75 0.75 ×2 = 1.5 = 1 + 0.5 0.5 ×2 = 1.0 = 1 (低) + 0 (结束)
6.八进制转换为二进制 八进制转换为二进制:根据表4-1将每位八进制数码展开为3位 二进制数码。 表4-1二进制与八进制转换表 1位八进制 0123456|7 数 3位二进制 000|001010011100101110111 数 例4-6求(30.14)8=()2 (30.14)8=011000.001100 (11000.0011)2
6. 八进制转换为二进制 八进制转换为二进制: 根据表 4-1 将每位八进制数码展开为 3 位 二进制数码。 表 4-1 二进制与八进制转换表 1 位八进制 数 0 1 2 3 4 5 6 7 3 位二进制 数 000 001 010 011 100 101 110 111 例 4-6 求 8 2 (30.14) ( ) (30.14)8 = 011 000 . 001 100 3 0 1 4 = (11000.0011)2
7.十六进制转换为二进制 十六进制转换为二进制:根据表4-2将每位十六进制数码展开为 4位二进制数码。 表4-2二进制与十六进制转换表 1位十六进01234567 4位二进制0001000100100011010001010110011 1位十六进89 B E F 4位二进制10010101010111010(1l 例4-7求(70C.A)16=( )2 解:(70C.A)16=011100001100.1010 =(1110000100.101)2A
7. 十六进制转换为二进制 十六进制转换为二进制: 根据表 4-2 将每位十六进制数码展开为 4 位二进制数码。 表 4-2 二进制与十六进制转换表 1 位十六进 0 1 2 3 4 5 6 7 4 位二进制 0000 0001 0010 0011 0100 0101 0110 0111 1 位十六进 8 9 A B C D E F 4 位二进制 1000 1001 1010 1011 1100 1101 1110 1111 例 4-7 求 16 2 (70C.A) ( ) 解: 16 (70C.A) = 0111 0000 1100 . 1010 7 0 C A = (11100001100.101)2