- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c语言进制转化【DOC精选】
1.2? 进位计数制及其转换
计算机能够处理数值、文字、声音、图像等信息。读者也许会问:为什么作为电子设备的计算机能处理那么多复杂的信息呢?实际上,当把这些信息转换成计算机能识别的形式就能进行处理。目前计算机中所有的信息都用“0”和“1”两个数字符号组合的二进制数来表示。
数值、图形、文字等各种形式的信息,需要计算机加工处理时,首先必须按一定的法则转换成二进制数。本节将首先以常用的十进制为出发点,来讨论二进制、八进制及十六进制的特点,然后介绍各种进制数之间的转换方法。
1.2.1? 十进制数的表示
进位计数制是一种计数的方法,习惯上最常用的是十进制计数法。十进制数的每位数可以用下列10个数码之一来表示:0、1、2、3、4、5、6、7、8、9。十进制数的基数为10,基数表示进位制所具有的数码的个数。
十进制数的计数规则是“逢十进一”,也就是说,每位累计不能超过9,计满10就应向高位进1。
一般来讲,任意一个十进制数N,可以用位置计数法表示如下:
(N )10 = (an–1an–2…a1a0.a–1a–2…a–m)10
也可以用按权展开式表示如下:
??????? (N )10 = an–1 × 10n–1 + an–2 × 10n–2 + … + a1 × 101 ?+ a0 × 100
????????????????????? ??+ a–1 × 10–1 + a–2 × 10–2 + … + a–m × 10–m
?????????????????????? =
式中,ai表示各个数字符号为0~9这10个数码中的任意一个;n为整数部分的位数,m为小数部分的位数;10i为该位数字的权。例如:
(1234.56)10 = 1 × 103 + 2 × 102 + 3 × 101 + 4 × 100 + 5 × 10–1 + 6 × 10–2
通常,对十进制数的表示,可以在数字的右下角标注10或D。
1.2.2? 二进制数、八进制数和十六进制数的表示
计算机中为了便于存储及计算的物理实现,采用了二进制。二进制数的基数为2,只有0、1两个数码,其计数规则是“逢二进一”,即每位计满2就向高位进1。它的各位的权是以2i表示的。
对于任意一个二进制数N,用位置计数法表示为:
(N )2 = (an–1an–2…a1a0.a–1a–2…a–m)2
用按权展开式表示为:
????????? ?(N )2 = an–1 × 2n–1 + an–2 × 2n–2 + … + a1 × 21 ?+ a0 × 20
???????????????????????? ???+ a–1 × 2–1 ?+ a–2 × 2–2 + … + a–m × 2–m
????????????????????????? =
式中,ai表示各个数字符号为0或1这两个数码中的任意一个;n为整数部分的位数,m为小数部分的位数;2i为该位数字的权。例如:
(101101)2 = 1 × 25 + 0 × 24 + 1 × 23 + 1 × 22 + 0 × 21 + 1 × 20 = (45)10
通常,对二进制数的表示,可以在数字的右下角标注2或B。
二进制数运算规则简单,便于电路实现,它是数字系统中广泛采用的一种数制。但因二进制表示一个数时,所用的位数比用十进制数表示的位数多,人们读写很不方便,容易出错。因此常采用八进制或十六进制。C语言程序设计中就经常会用到这两种进制。
八进制数的基数是8,采用的数码是0、1、2、3、4、5、6、7。计数规则是“逢八进一”,它的各位的权是以8i表示的。通常,对八进制数的表示,可以在数字的右下角标注8或O,但在C语言中是在数的前面加数字0来表示。例如,(1234)8就是表示一个八进制数,而不是十进制数1234,在C语言中它表示为01234。
十六进制数的基数是16,采用的数码是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。其中A、B、C、D、E、F分别表示十进制数字10、11、12、13、14、15。十六进制的计数规则是“逢十六进一”,它的各位的权是以16i表示的。通常,对十六进制数的表示,可以在数字的右下角标注16或H,但在C语言中是在数的前面加数字0和字母X即0X来表示。例如,(12AF)16就是表示一个十六进制数,在C语言中它表示为0X12AF。
由此可得出:十进制、八进制、二进制与十六进制的特征对照表如表1-1所示。
表1-1? 二进制、八进制、十进制与十六进制的特征对照表
进??? 制
数??? 码
计 数 规 则
数的表示法
十进制
0、1、2、3、4、5、6、7、8、9
逢十进一
(1234)10
二进制
0、1
逢二进一
(1101)2
八进制
0、1、2、3、4、5、6、7
逢八进一
(4567)8
原创力文档


文档评论(0)