ImageVerifierCode 换一换
格式:DOC , 页数:4 ,大小:93.50KB ,
资源ID:3526585      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-3526585.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言进制转换.doc)为本站会员(sk****8)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

C语言进制转换.doc

1、c 语言中的进制转换竞赛 2008-10-07 10:48:55 阅读 1111 评论 0 字号:大中小 订阅 1.2 进位计数制及其转换计算机能够处理数值、文字、声音、图像等信息。读者也许会问:为什么作为电子设备的计算机能处理那么多复杂的信息呢?实际上,当把这些信息转换成计算机能识别的形式就能进行处理。目前计算机中所有的信息都用“0”和“1”两个数字符号组合的二进制数来表示。数值、图形、文字等各种形式的信息,需要计算机加工处理时,首先必须按一定的法则转换成二进制数。本节将首先以常用的十进制为出发点,来讨论二进制、八进制及十六进制的特点,然后介绍各种进制数之间的转换方法。1.2.1 十进制数的

2、表示进位计数制是一种计数的方法,习惯上最常用的是十进制计数法。十进制数的每位数可以用下列 10 个数码之一来表示:0、1、2、3、4、5、6、7、8、9。十进制数的基数为 10,基数表示进位制所具有的数码的个数。十进制数的计数规则是“逢十进一”,也就是说,每位累计不能超过 9,计满 10 就应向高位进 1。一般来讲,任意一个十进制数 N,可以用位置计数法表示如下:(N )10 = (an1an2a1a0.a1a2am)10也可以用按权展开式表示如下:(N )10 = an1 10n1 + an2 10n2 + + a1 101 + a0 100+ a1 101 + a2 102 + + am

3、10m=式中,a i 表示各个数字符号为 09 这 10 个数码中的任意一个; n 为整数部分的位数,m 为小数部分的位数;10 i 为该位数字的权。例如:(1234.56)10 = 1 103 + 2 102 + 3 101 + 4 100 + 5 101 + 6 102通常,对十进制数的表示,可以在数字的右下角标注 10 或 D。1.2.2 二进制数、八进制数和十六进制数的表示计算机中为了便于存储及计算的物理实现,采用了二进制。二进制数的基数为 2,只有 0、1 两个数码,其计数规则是“逢二进一”,即每位计满 2 就向高位进 1。它的各位的权是以 2i 表示的。对于任意一个二进制数 N,用

4、位置计数法表示为:(N )2 = (an1an2a1a0.a1a2am)2用按权展开式表示为:?(N )2 = an1 2n1 + an2 2n2 + + a1 21 + a0 20?+ a1 21 + a2 22 + + am 2m=式中,a i 表示各个数字符号为 0 或 1 这两个数码中的任意一个; n 为整数部分的位数,m 为小数部分的位数;2 i 为该位数字的权。例如:(101101)2 = 1 25 + 0 24 + 1 23 + 1 22 + 0 21 + 1 20 = (45)10通常,对二进制数的表示,可以在数字的右下角标注 2 或 B。二进制数运算规则简单,便于电路实现,它

5、是数字系统中广泛采用的一种数制。但因二进制表示一个数时,所用的位数比用十进制数表示的位数多,人们读写很不方便,容易出错。因此常采用八进制或十六进制。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、

6、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

7、、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十六进制 09、A、B、C 、D、E、F 逢十六进一 (45AF)161.2.3 二进制数和十进制数的转换1二进制转换为十进制数二进制数转换成十进制数是很方便的,只要将二进制数写成按权展开式,并将式中各 乘 积 项 的 积 计 算 出 来 , 然 后 各 项 相 加 , 即 可 得 到 与 该 二 进 制 数 相 对应 的 十 进 制 数 。 例 如 :(11010.101)2 = 1 24 + 1 23 + 0 22 + 1

8、21 + 0 20?+ 1 21 + 0 22 + 1 23= 16 + 8 + 2 + 0.5 + 0.125=(26.625)102十进制转换为二进制数十进制数转换成二进制数分成整数部分转换和小数部分转换,下面分别来介绍它们转换的方法。(1)整数部分转换把要转换的十进制数的整数部分不断除以基数 2,并记下余数,直到商为 0为止。【例 1-1】 ( N )10 = (117)10117 / 2 = 58 (a 0 = 1) 最低整数位58 / 2 = 29 (a 1 = 0)29 / 2 = 14 (a 2 = 1)14 / 2 = 7 (a 3 = 0)7 / 2 = 3 (a 4 = 1

9、)3 / 2 = 1 (a 5 = 1)1 / 2 = 0 (a 6 = 1) 最高整数位所以 (N )10 = (1110101)2。注意:对于整数部分的转换第一次除以 2 所得到的余数是二进制数整数的最低位,最后所得到的余数是二进制数整数的最高位。(2)小数部分转换对于被转换的十进制数的小数部分则应不断乘以基数 2,并记下其整数部分,直到结果的小数部分为 0 为止。【例 1-2】 ( N )10 = (0.8125)100.8125 2 = 1.625 (b 1 = 1) 最高小数位0.625 2 = 1.25 (b 2 = 1)0.25 2 = 0.5 (b 3 = 0)0.5 2 =

10、1.0 (b 4 = 1) 最低小数位所以 (N )10 = (0.1101)2。注意:对于小数部分的转换式中的整数不参加连乘,第一次乘以 2 所得到的整数部分是二进制数小数的最高位,最后所得到的整数部分是二进制数小数的最低位。在十进制的小数部分转换中,有时连续乘以 2 不一定能使小数部分等于 0,这说明该十进制小数不能用有限位二进制小数表示。这时,只要取足够多的位数,使其误差达到所要求的精度就可以了。十进制数转换成二进制数的这种方法其实也适用于十进制数转换成其他进制的数,只是基数不再是 2,而是要转换的进制数的基数。下面的例子是将一个十进制数转换成八进制数。【例 1-3】 ( N )10 =

11、 (117)10117 / 8 = 14 (a 0 = 5) 最低整数位14 / 8 = 1 (a 1 = 6)1 / 8 = 0 (a 2 = 1) 最高整数位所以 (N )10 = (165)8。【例 1-4】 ( N )10 = (0.8125)100.8125 8 = 6.5 (b 1 = 6) 最高小数位0.5 8 = 4.0 (b 2 = 4) 最低小数位所以 (N )10 = (0.64)8。1.2.4 二进制数、八进制数和十六进制数的转换八进制数的基数是 8(8 = 2 3),十六进制数的基数是 16(16 = 2 4)。二进制数、八进制数和十六进制数之间具有 2 的整指数倍的

12、关系,因而可直接进行转换。1二进制数 八进制数从小数点开始,分别向左、右按 3 位分组转换成对应的八进制数字字符,最后不满 3 位的,则需补 0。【例 1-5】 将二进制数(1101101.10101) 2 转换成八进制数。具体方法为:二进制数: 0 0 1 1 0 1 1 0 1. 1 0 1 0 1 0 八进制数: 1 5 5 . 5 2所以 (1101101.10101)2 = (155.52)8。2八进制数 二进制数将每位八进制数用 3 位二进制数表示即可。【例 1-6】 将八进制数(345.64) 8 转换成二进制数。具体方法为:八进制数: 3 4 5 . 6 4 二进制数: 011

13、 110 101 . 110 100所以 (345.64)8 = (11100101.1101)2。3二进制数 十六进制数从小数点开始,分别向左、右按 4 位分组转换成对应的十六进制数字字符,最后不满 4 位的,则需补 0。【例 1-7】 将二进制数(1101101.10101) 2 转换成十六进制数。具体方法为:二进制数: 0 1 1 0 1 1 0 1 . 1 0 1 01 0 0 0 十六进制数: 6 D . A 8所以 (1101101.10101)2 = (6D.A8)16。4十六进制数 二进制数将每位十六进制数用 4 位二进制表示即可。【例 1-8】 将十六进制数(A8D.6C) 16 转换成二进制数。具体方法为:十六进制数: A 8 D . 6 C 二进制数: 1010 1000 1101 . 0110 1100所以 (A8D.6C)16 = (101010001101.011011)2。

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。