二进制转换算法_第1页
二进制转换算法_第2页
二进制转换算法_第3页
二进制转换算法_第4页
二进制转换算法_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

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

2、+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,除数不能为0二、进制转换1 .二进制与十进制数间的转换(1)二进制转换为十进制将每个二进制数按权展开后求和即可。请看例题:把二进制数(101.101 ) 2=1*22+0*2 1+1*20+1*2-1 +0*2-2 + 1*2-3= (5.625) 10二进制数转换为十进制数:二进制数第0位的权值是2的0次方,第1位的权值是2的1次方 所以,设有一个二进制数:0110 0100,转换为10进制为: 下面是竖式:0110 010

3、0换算成 十进制第 0 位 0 * 2 0 = 0第 1 位 0 * 2 1 = 0第 2 位 1 * 2 2 = 4第 3 位 0 * 2 3 = 0第 4 位 0 * 2 4 = 0第 5 位 1 * 2 5 = 32第 6 位 1 * 2 6 = 64第 7 位 0 * 2 7 = 0+100用横式计算为:012345670 * 2 + 0 * 2+ 1 * 2+ 1 * 2+ 0 * 2+ 1 * 2+ 1 * 2+ 0 * 2= 1000乘以多少都是0,所以我们也可以直接跳过值为 0的位:1 * 2 2 + 1 * 2 3 + 1 * 2 5 + 1 * 2 6 = 100(2)十进

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故二进制为100101110十进制整数转二进制数:”除以2取余,逆序输出"例:(89) 10= (1011001) 22 892 44 12 22 02 11 02 5 12 2 12 1 00 1小数部分计算方法:

5、乘2取整法,即每一步将十进制小数部分乘以 2,所得积的小 数点左边的数字(0或1)作为二进制表示法中的数字,第一次乘法所得的整数部分 为最高位。请看例题:例:(0. 625)10= (0.101)20. 625X 21. 25X 20. 5X 21. 0将(0.5625) 10转换成二进制。(0.5625) 10= (0.1001 ) 21. 1250. 250. 51.02. 二进制与十六进制数间的转换二进制 十六进制0011102113100410151106111710008100191010A1011B1100C1101D1110E1111 F(1)二进制数转换成十六进制数二进制数转换

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

7、大丁 15小丁 256的10进制数除以16为的值为 十位的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这五个字母来分别表示1

8、0, 11, 12, 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进制:5 * 16 0 + F * 16 1 + A * 16 2 + 2 * 16 3 = 10997(别忘了,在上面的计算中,A表示10,而F表示15)现在可以看出,所有进制换算成10进制,关键在丁各自的权值不同4.二进制转为8进制二进制转为8进制,可以3位二进制位编为一组(不够左侧补0),然后从右边开 始每三位按如下方式替换:000 - 0,001 - 1,010 - 2,011 - 3,100 - 4,101 - 5,110 - 6,111 - 7.比如转换二进制数1110101010100那么分组为001 110 101 010 100 按照转换方法对应转换1 6 5 2 4所以 1110101010100(2) = 16524(8)乂如转换为16进制0000 -0,0001 - 1,0010 - 2,0011 - 30100 -4,0101 - 5,0110 - 6,0111 - 71000 -

温馨提示

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

评论

0/150

提交评论