190 likes | 298 Views
数制与编码. 抛砖引玉 ------ 十进制. 十进制: 包含十个数字符号: 0 、 1 、 2 、 3 、 4 、 5 、 6 、 7 、 8 、 9 所包含的数字符号的个数称为 基数 (Radix) ,用 R 表示。 R=10 逢十进一: 10 , 11 , 12 , … , 84 , 123 , 999 , 1000 , 5487 , 48621 , …. 例子 1. 5487= 7× 1 + 8× 10 + 4× 100 + 5× 1000
E N D
抛砖引玉 ------十进制 • 十进制: • 包含十个数字符号: 0、1、2、3、4、5、6、7、8、9 • 所包含的数字符号的个数称为基数(Radix),用R表示。R=10 • 逢十进一:10,11,12,…,84,123,999,1000,5487,48621,…
例子1 • 5487= 7×1+ 8×10+ 4×100 + 5×1000 • 此式称做按权展开式。权分别为1 (=100) ,10 (=101) ,100 (=102), 1000 (=103), …Ri。 可见,位数越高,权越大。
例子2 • 3.42= 2×0.01+ 4×0.1+ 3×1 • 权分别为: 1 (=100) 0.1 (=10-1) Ri 0.01 (=10-2) 同理,位数越低,权越小。
十进制的总结 • 它含有十个数码: 0、1、2、3、4、5、6、7、8、9。 • 基数R=10,所以“逢十进一”。 • 权为Ri ,即10i (i 的取值范围为-m ~n-1, n为位数) ,位数越高, i 值越大,此位的权也就越大。 如:2647.674
为什么要用二进制? • 计算机的各组成部分都仅有两个稳定状态的电子元件组成,如磁盘存在着两种稳定的状态有磁和无磁,电压也有高电压和低电压,由此,计算机采用二进制计数是十分合适的。 • 二进制的描述
什么是二进制? • 它含有两个数码: 0、1 • 基数R=2,所以“逢二进一” • 权为Ri ,即2i (i 的取值范围为-m ~n-1, n为位数) ,位数越高, i 值越大,权越大。
二进制计算规则 • 二进制的计算规则非常简单。以加法为例,二进制的加法规则有四条:即 0+0=0;0+1=1;1+0=1;1+1=10 • 如:0,1,10,11,100,101,110,111,1000,1001,1010,1011,…,1011.01 1011.01=1×23 + 0×22+ 1×21 + 1×20 + 0×2-1 + 1×2-2 =1×8 + 0×4 + 1×2 + 1×1 + 0×0.5 + 1×0.25 =8 + 0+ 2 + 1 + 0 + 0.25 =11.25
二~十进制转换 • 1101 = 1×23 + 1×22+ 0×21 + 1×20 = 8 + 4 + 0 + 1 = 13 • 0.101 = 0×20 + 1×2-1 + 0×2-2+ 1×2-3 = 0 + 0.5 + 0 + 0.125 = 0.625
十进制转换二进制 将(121)10 转换成二进制数 2 121 余数 二进制的低位 2 60 ··········· 1 2 30 ··········· 0 2 15 ··········· 0 1 2 7 ··········· ··········· 1 2 3 2 1 ··········· 1 二进制的高位 0 ··········· 1 转换结果: (121)10=(1111001)2
二进制的缺点 二进制的明显缺点是:数字冗长,书写麻烦,不便阅读。所以,在计算机文献的书写中,常用十六进制数表示。
= = = = = = 10 11 12 13 14 15 十六进制规则 • 它含有十六个数字符号:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F • 基数R=16,所以“逢十六进一” • 权为Ri ,即16i (i 的取值范围为-m ~n-1, n为位数) ,位数越高, i 值越大,权越大。
D 代表十进制 如:11(D) • B 代表二进制 如:11(B) • H 代表十六进制 如:11(H) 数制单位:
十六进制数转成二进制数 24 = 16 “一位拆四位” 1位八进值数恰好与4位二进制数相对应 例:将十六进制数(3ACD.A1)16转换成二进制数 转换过程: 3 A C D .A 1 0011 1010 1100 1101 .1010 0001 练习 转换结果: (3ACD.A1)16 =(11101011001101.10100001)2
二进制数转成十六进制数 “四位并一位” 以二进制数小数点为中心,向两端每四位截成一组,然后每一组二进制数下写出对应的十六进制数码,最高位或最低位不足时,用0补齐,并将小数点垂直落到十六进制数中。 例:将二进制数(10101111011.0011001011)2 转换成十六进制数 转换过程: 0101 0111 1011 . 0011 0010 1100 练习 5 7 B . 3 2 C 转换结果: (10101111011.0011001011)2 =(57B.32C)16
进制转换例子 • 2E (H)= 2×161 + 14×160 = 32 + 14 = 46 (D) • 2E (H)=101110 (B) • 11010(B) = 1A (H)
练习 • 1.将二进制数 110101转换成十进制数。 • 2.将二进制数1010.101转换成十进制数。 • 3.将十六进制数2BA转换成十进制数。 • 4.将十六进制数2BA转换成二进制数。
答案 • 1. 110101(B)=32+16+4+1=53(D) • 2. 1010.101(B)=8+2+0.5+0.125=10.625(D) • 3. 2BA(H)=512+176+10=698(D) • 4. 2BA(H)=1010111010 (B) 返回