二进制转换算法.docx

上传人:b****5 文档编号:7850991 上传时间:2023-01-26 格式:DOCX 页数:5 大小:17.61KB
下载 相关 举报
二进制转换算法.docx_第1页
第1页 / 共5页
二进制转换算法.docx_第2页
第2页 / 共5页
二进制转换算法.docx_第3页
第3页 / 共5页
二进制转换算法.docx_第4页
第4页 / 共5页
二进制转换算法.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

二进制转换算法.docx

《二进制转换算法.docx》由会员分享,可在线阅读,更多相关《二进制转换算法.docx(5页珍藏版)》请在冰豆网上搜索。

二进制转换算法.docx

二进制转换算法

一、概念

1.十进制

十进制使用十个数字(0、1、2、3、4、5、6、7、8、9)记数,基数为10,逢十进一。

历史上第一台电子数字计算机ENIAC是一台十进制机器,其数字以十进制表示,并以十进制形式运算。

设计十进制机器比设计二进制机器复杂得多。

而自然界具有两种稳定状态的组件普遍存在,如开关的开和关,电路的通和断,电压的高和低等,非常适合表示计算机中的数。

设计过程简单,可靠性高。

因此,现在改为二进制计算机。

2.二进制

二进制以2为基数,只用0和1两个数字表示数,逢2进一。

二进制与遵循十进制数遵循一样的运算规则,但显得比十进制更简单。

例如:

(1)加法:

0+0=00+1=11+0=11+1=0

(2)减法:

0-0=01-1=01-0=10-1=1

(3)乘法:

0*0=00*1=01*0=01*1=1

(4)除法:

0/1=01/1=1,除数不能为0

二、进制转换

1.二进制与十进制数间的转换

(1)二进制转换为十进制

将每个二进制数按权展开后求和即可。

请看例题:

把二进制数(101.101)2=1*22+0*21+1*20+1*2-1+0*2-2+1*2-3=(5.625)10

二进制数转换为十进制数:

二进制数第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*22+1*23+  1*25+1*26=100

(2)十进制转换为二进制

一般需要将十进制数的整数部分与小数部分分开处理。

整数部分计算方法:

除2取余法请看例题:

用2辗转相除至结果为1

将余数和最后的1从下向上倒序写就是结果

例如302

302/2=151余0

151/2=75余1

75/2=37余1

37/2=18余1

18/2=9余0

9/2=4余1

4/2=2余0

2/2=1余0

故二进制为100101110

十进制整数转二进制数:

"除以2取余,逆序输出"

例:

(89)10=(1011001)2

289

244……1

222……0

211……0

25……1

22……1

21……0

0……1

小数部分计算方法:

乘2取整法,即每一步将十进制小数部分乘以2,所得积的小数点左边的数字(0或1)作为二进制表示法中的数字,第一次乘法所得的整数部分为最高位。

请看例题:

例:

(0.625)10=(0.101)2

0.625

X2

1.25

X2

0.5

X2

1.0

将(0.5625)10转换成二进制。

(0.5625)10=(0.1001)2

1.125

1.25

1.5

1.0

2.二进制与十六进制数间的转换          

      

二进制十六进制  

        00  

        11  

        102  

        113  

        1004  

        1015  

        1106  

        1117  

        10008  

        10019  

        1010A  

        1011B  

        1100C  

        1101D  

        1110E  

        1111F  

       

(1)二进制数转换成十六进制数

二进制数转换成十六进制数方法如下,以二进制数1101110为例:

   将二进制数从右面开始以四位为一组分组,最左面不够四位的补0,按上表查得对应的十六进制数,组合起来以后就成了。

4个2进制位为一个16进制数

如01011100,可看成是两组2进制数0101和1100,则这个数就是16进制的5C。

        01101110的十六进制数是6E

  

(2)十六进制转换成二进制方法

十六进制转换成二进制方法如下,以十六进制数3E为例:

   将十六进制的每一位转换成四位二进制数,不足四位的在左面补0,组合起来即可得到二进制数。

  3E的二进制数是00111110,既是111110

3.10进制转16进制:

 

10转16

用传统的计算方式可以了,就是大于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,但我们只有0~9这十个数字,所以我们用A,B,C,D,E,F这五个字母来分别表示10,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*160  +F*161+A*162+2*163=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.

比如转换二进制数00那么分组为

001110101010100按照转换方法对应转换

1  6  5  2  4

所以00

(2)=16524(8)

又如转换为16进制

0000---0,0001---1,0010---2,0011---3

0100---4,0101---5,0110---6,0111---7

1000---8,1001---9,1010---A,1011---B

1100---C,1101---D,1110---E,1111---F

此时分组为4位二进制数为一组

比如转换二进制10,分组:

00101010100101011010

  2   A   9   5   A

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1