进制转换算法_第1页
进制转换算法_第2页
进制转换算法_第3页
进制转换算法_第4页
进制转换算法_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1. 十进制十进制使用十个数字( 0、1、2、3、4、5、6、7、8、9)记数,基数为 10,逢十进 一。历史上第一台电子数字计算机 ENIAC是一台十进制机器,其数字以十进制表示,并 以十进制形式运算。设计十进制机器比设计二进制机器复杂得多。而自然界具有两 种稳定状态的组件普遍存在,如开关的开和关,电路的通和断,电压的高和低等, 非常适合表示计算机中的数。设计过程简单,可靠性高。因此,现在改为二进制计 算机。2. 二进制二进制以 2为基数,只用 0和 1两个数字表示数,逢 2进一。二进制与遵循十进制数遵循一样的运算规则,但显得比十进制更简单。例如:(1)加法:0+0=0 0+1=1 1+0=

2、1 1+1=0(2)减法:0-0=0 1-1=0 1-0=1 0-1=1(3)乘法:0*0=0 0*1=0 1*0=0 1*1=1(4)除法:0/1=0 1/1=1 ,除数不能为二、进制转换1二进制与十进制数间的转换(1)二进制转换为十进制 将每个二进制数按权展开后求和即可。请看例题:2 1 0 -1 -2 -3把二进制数() 2=1*22+0*21+1*2 0+1*2-1 +0*2-2+1*2 -3=() 10二进制数转换为十进制数 :二进制数第 0位的权值是 2的 0次方,第 1位的权值是 2的 1次方 所以,设有一个二进制数: 0110 0100,转换为 10 进制为: 下面是竖式:01

3、10 0100 换算成十进制第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=0100用横式计算为:7= 1000 1 2 3 4 5 60 * 2 + 0 * 2 + 1 * 2 + 1 * 2 + 0 * 2 + 1 * 2 + 1 * 2 + 0 * 2 0乘以多少都是 0,所以我们也可以直接跳过值为 0 的位:2 3 5 61 * 2 + 1 * 2 +1 * 2 + 1 * 2 = 1002)十进制转换为二进制一般需要将十进制数的整数部分与小数部分分开处理整数部分计算方

4、法:除 2 取余法 请看例题: 用 2 辗转相除至结果为 1将余数和最后的 1 从下向上倒序写 就是结果例如 302302/2 = 151 余 0151/2 = 75 余 175/2 = 37 余 137/2 = 18 余 118/2 = 9 余 09/2 = 4 余 14/2 = 2 余 02/2 = 1 余 0故二进制为 0十进制整数转二进制数: 除以 2 取余,逆序输出 例: (89) 10( 1011001)22 892 44 12 22 0 2 11 02 5 12 2 12 1 00 1小数部分计算方法:乘 2 取整法,即每一步将十进制小数部分乘以 2,所得积的小数点左边的数字 (

5、 0 或 1)作为二进制表示法中的数字, 第一次乘法所得的整数部分 为最高位。请看例题:例:(0 625)10= 20625X 2125X 205X 210将() 10 转换成二进制。() 10=()21. 1250. 250. 51. 02二进制与十六进制数间的转换二进制 十六进制0 01 110 211 3100 4101 5110 6111 71000 81001 91010 A1011 B1100 C1101 D1110 E1111 F(1) 二进制数转换成十六进制数 二进制数转换成十六进制数方法如下,以二进制数 1101110 为例:将二进制数从右面开始以四位为一组分组, 最左面不够

6、四位的补 0,按 上表查得对应的十六进制数,组合起来以后就成了。4个 2进制位为一个 16进制数如 01011100,可看成是两组 2 进制数 0101 和 1100,则这个数就是 16 进制的 5C。0110 1110 的十六进制数是 6E(2) 十六进制转换成二进制方法 十六进制转换成二进制方法如下,以十六进制数 3E 为例:将十六进制的每一位转换成四位二进制数, 不足四位的在左面补 0,组合起 来即可得到二进制数。3E 的二进制数是 00111110,既是 111110进制转 16 进制:10转 16用传统的计算方式可以了,就是大于 15小于 256的10进制数除以 16为的值为 十位的

7、 16进制数,其余数为个位的 16进制数,没余数则个位为 0。如 61的16进 制是3D,61除以16得3余13,3作十位数, 13转成 D为个位数。16转 10:用相反的道理,将十位数乘以 16加上个位数。如5A,将5乘以 16得80,加上 A的 10 进制 10,结果是 90。十六进制数转换成十进制数 :2 进制,用两个阿拉伯数字: 0、 1;8 进制,用八个阿拉伯数字: 0、1、2、3、4、5、 6、 7;10进制,用十个阿拉伯数字: 0 到 9; 16 进制16进制就是逢 16进 1,但我们只有 09这十个数字,所以我们用 A,B,C,D,E, F 这五个字母来分别表示 10,11,1

8、2,13,14,15。字母不区分大小写。十六进制数的第 0位的权值为 16的0次方,第 1位的权值为 16的1次方,第 2位 的权值为 16 的 2 次方所以,在第 N(N从0开始)位上,如果是是数 X (X 大于等于 0,并且 X小于等 于 15 ,即: F)表示的大小为 X * 16 的 N 次方。假设有一个十六进数 2AF5, 那么如何换算成 10 进制呢?用竖式计算:2AF5换算成 10 进制:0 1 2 35 * 16+ F * 16 + A * 16 + 2 * 16 = 10997 (别忘了,在上面的计算中, A表示 10,而 F表示 15) 现在可以看出,所有进制换算成 10

9、进制,关键在于各自的权值不同4. 二进制转为 8 进制二进制转为 8 进制,可以 3 位二进制位编为一组 ( 不够左侧补 0) ,然后从右边开 始每三位按如下方式替换:000 - 0,001 - 1,010 - 2,011 - 3,100 - 4,101 - 5,110 - 6,111 - 7.比如转换二进制数 那么分组为001 110 101 010 100 按照转换方法对应转换1 6 5 2 4所以 (2) = 16524(8) 又如转换为 16 进制0000 - 0, 0001 - 1, 0010 - 2, 0011 - 30100 - 4, 0101 - 5, 0110 - 6, 0111 - 7100

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论