(完整word版)二进制、八进制、十六进制转换方式.pdfVIP

(完整word版)二进制、八进制、十六进制转换方式.pdf

  1. 1、本文档共8页,可阅读全部内容。
  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文档。上传文档
查看更多

(完整word版)⼆进制、⼋进制、⼗六进制转换⽅式

第六章⼆进制、⼋进制、⼗六进制

6.1为什么需要⼋进制和⼗六进制?

6.2⼆、⼋、⼗六进制数转换到⼗进制数

6.2.1⼆进制数转换为⼗进制数

6.2.2⼋进制数转换为⼗进制数

6.2.3⼋进制数的表达⽅

6.2.4⼋进制数在转义符中的使⽤

6.2.5⼗六进制数转换成⼗进制数

6.2.6⼗六进制数的表达⽅

6.2.7⼗六进制数在转义符中的使⽤

6.3⼗进制数转换到⼆、⼋、⼗六进制数

6.3.110进制数转换为2进制数

6.3.210进制数转换为8、16进制数

6.4⼆、⼗六进制数互相转换

6.5原码、反码、补码

6.6通过调试查看变量的值

6.7本章⼩结

这是⼀节“前不着村后不着店”的课。不同进制之间的转换纯粹是数学上的计算。不过,你不必担⼼会有么复杂,⽆⾮是

乘或除的计算。

⽣活中其实很多地⽅的计数⽅法都多少有点不同进制的影⼦。

⽐如我们最常⽤的10进制,其实起源于⼈有10个指头。如果我们的祖先始终没有摆脱⼿脚不分的境况,我想我们现在⼀定是

在使⽤20进制。

⾄于⼆进制……没有袜⼦称为0只袜⼦,有⼀只袜⼦称为1只袜⼦,但若有两袜⼦,则我们常说的是:1双袜⼦。

⽣活中还有:七进制,⽐如星期。⼗六进制,⽐如⼩时或“⼀打”,六⼗进制,⽐如分钟或⾓度……

(该版课程的内容更新及订正均已停⽌)

旧版课程打包下载

[想看涵盖“⾯向对象”、“图形编程”、“泛型编程”……

的“最新2008年版⽩话C++”课程,请点击!](另有:博客版)

6.1为什么需要⼋进制和⼗六进制?

编程中,我们常⽤的还是10进制……必竟C/C++是⾼级语⾔。

⽐如:

inta=100,b=99;

不过,由于数据在计算机中的表⽰,最终以⼆进制的形式存在,所以有时候使⽤⼆进制,可以更直观地解决问题。

但,⼆进制数太长了。⽐如int类型占⽤4个字节,32位。⽐如100,⽤int类型的⼆进制数表达将是:

000000000000000001100100

⾯对这么长的数进⾏思考或操作,没有⼈会喜欢。因此,C,C++没有提供在代码直接写⼆进制数的⽅法。

⽤16进制或8进制可以解决这个问题。因为,进制越⼤,数的表达长度也就越短。不过,为什么偏偏是16或8进制,⽽不其它

的,诸如9或20进制呢?

2、8、16,分别是2的1次⽅,3次⽅,4次⽅。这⼀点使得三种进制之间可以⾮常直接地互相转换。8进制或16进制缩短了⼆

进制数,但保持了⼆进制数的表达特点。在下⾯的关于进制转换的课程中,你可以发现这⼀点。

6.2⼆、⼋、⼗六进制数转换到⼗进制数

6.2.1⼆进制数转换为⼗进制数

⼆进制数第0位的权值是2的0次⽅,第1位的权值是2的1次⽅……

所以,设有⼀个⼆进制数:01100100,转换为10进制为:

下⾯是竖式:

01100100换算成⼗进制

第0位0*20=0

第1位0*21=0

第2位1*22=4

第3位0*23=0

第4位0*24=0

第5位1*25=32

第6位1*26=64

第7位0*27=0+

100

⽤横式计算为:

0*20+0*21+1*22+1*23+0*24+1*25+1*26+0*27=100

0乘以多少都是0,所以我们也可以直接跳过值为0的位:

1*2

2+1*2

3+1*25+1*26=100

6.2.2⼋进制数转换为⼗进制数

⼋进制就是逢8进1。

⼋进制数采⽤0~7这⼋数来表达⼀个数。

⼋进制数第0位的权值为8的0次⽅,第1位权值为8的1次⽅,第2位权值为8的2次⽅……所以,设有⼀个⼋进制数:1507,转

换为⼗进制为:

⽤竖式表⽰:

1507换算成⼗进制。

第0位7*80=7

第1位0*81=0

第2位5*82=320

第3位1*83=512+

839

同样,我们也可以⽤横式直接计算:

7*80+0*81+5*82+1*83=839

结果是,⼋进制数1507转换成⼗进制数为839

6.2.3⼋进制数的表达⽅法

C,C++语⾔中,如何表达⼀个⼋进制数呢?如果这个数是876,我们可以断定它不是⼋进制数,因为⼋进制数中不可能出7以上

的阿拉伯数字。但如果这个数是123、是567,那么

文档评论(0)

. + 关注
官方认证
文档贡献者

专注于职业教育考试,学历提升。

版权声明书
用户编号:8032132030000054
认证主体社旗县清显文具店
IP属地河南
统一社会信用代码/组织机构代码
92411327MA45REK87Q

1亿VIP精品文档

相关文档