二进制、八进制和十六进制数的转换.docVIP

二进制、八进制和十六进制数的转换.doc

  1. 1、本文档共2页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
我们曾经指出为了便于二进制数和十进制数的转换,也为了在书写时更加简便易读,二进制数经常要转换成8进制数和16进制数。这里我们考查2进制数和8进制数之间的转换关系。 设有一个9位二进制数(k8k7k6k5k4k3k2k1k0)2,根据数制的定义,我们知道: (k8k7k6k5k4k3k2k1k0)2=k8×28+k7×27+k6×26+k5×25+k4×24+k3×23+k2×22+k1×21+k0×20 (式2-16) 式2-16可以进一步写成: k8×28+k7×27+k6×26+k5×25+k4×24+k3×23+k2×22+k1×21+k0×20 =(k8×22+k7×21+k6×20)×26+(k5×22+k4×21+k3×20)×23+k2×22+k1×21+k0×20 =(k8×22+k7×21+k6×20)×82+(k5×22+k4×21+k3×20)×81+(k2×22+k1×21+k0×20)×80 (式2-17) 上面的式子中,k8×22+k7×21+k6×20相当于(k8 k7 k6)2,假定其等于十进制数h2;k5×22+k4×21+k3×20相当于(k5 k4 k3)2,假定其等于十进制数h1;k2×22+k1×21+k0×20相当于(k2 k1 k0)2,假定其等于十进制数h0。则式2-17可以改写为: h2×82+h1×81+h0×80 (式2-18) 由于h2 、h1、 h0是三位二进制数的值,因此,其值的范围在0~7之间。根据数制的定义,我们惊奇地发现式2-18相当于(h2 h1 h0)8。这就是说: (k8k7k6k5k4k3k2k1k0)2=(h2 h1 h0)8 (式2-19) 这里,h2=(k8k7k6)2;h1=(k5k4k3)2;h0=(k2 k1 k0)2。 这就是说,我们只要把一个九位的二进数从低位开始三位一组,分成三组,将这三组二进制数分别转换成10进制数,所得的三个数就是该二进制数所对应的8进制数的码。这种关系可以一直往高位推导,即不管二进制数有多少位我们都可以用这种方法把它转换成一个8进制数。 例2-6:将二进制数(10111001010)2转换为8进制数。 解:将二进制数三位一组分组,计算每组的值如下: 1 0 1 1 1 0 0 1 0 1 0 2 7 1 2 则:(10111001010)2 =(2712)8 需要注意的是,整数的分组是从最低位开始,向最高位延伸。如果最高位的组不足三位,则在前面补0。另外,这种转换同样适用于小数的转换。小数的分组,是从最高小数位开始,向低位延伸。如果最低位的组不足3位,在后面补0。 例2-7:将二进制数(10111001010.10101)2转换为8进制数。 解:将二进制数三位一组分组,计算每组的值如下: 1 0 1 1 1 0 0 1 0 1 0 。 1 0 1 0 1 0 2 7 1 2 。 5 2 则:(10111001010.10101)2 =(2712.52)8 仿照2进制转8进制数的推导方法,我们不难得到二进制数与16进制数的转换方法(有关演算留作习题,这里从略)。具体来说就是,将二进制数的整数和小数部分每四位分成一组。整数部分从最低位向最高位顺序分组,如果最高位组不够4位,就在前面补0;小数部分从最高位向最低位顺序分组,如果最低位组不够4位,在后面补0。求出每一组4位二进制数的十进制值(在0~15之间),然后用16进制符号表示,就得到了相应的16进制数。 例2-8:将二进制数(10111001010.10101)2转换为16进制数。 解:将上述二进制数四位一组分组,计算每组的值如下: 0 1 0 1 1 1 0 0 1 0 1 0 。 1 0 1 0 1 0 0 0 5 12 10 。 10 8 则:(10111001010.10101)2 =(5CA.A8)16 上面将二进制数转换为8进制数和16进制数的规则,反过来也可以用来将8进制和16进制数转换为2进制数。请看下面的例子。 例2-9:将8进制数(567.72)8转换为2进制数。 解:将上述八进制数的每一位分解成一个3位二进制数,最后得到就是该8进制数对应的二进制数。具体计算如下: 5 6 7 . 7 2 1 0 1 1 1 0 1 1 1 . 1 1 1 0 1 0 则:(567.72)8=(101110111.111010)2 例2-10:将16进制数(9F.B6)16转换为2进制数。 解:将上述16进制数的每一位分解成一个4位二进制数,最后得到就是该16进制数对应的二进制数。具体计算如下: 9 F . B 6 1 0 0 1 1 1 1 1 . 1 0 1 1 0

文档评论(0)

80092355km + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档