分享

二进制、八进制、十进制与十六进制的概念以及它们之间的转换

 秦岭溪谷 2017-02-27

在编程中,有时候会用到进制数来作为操作数据,所以下面就讲下它们的概念以及它们之间的转换。

进制也就是进制位,对于接触过电脑的人来说应该都不陌生,我们常用的进制包括:二进制、八进制、十进制与十六进制,它们之间区别在于数运算时是逢几进一位。比如二进制是逢2进一位,十进制也就是我们常用的0-9是逢10进一位。

它们的关系如下,都是可以相互转换的。

二进制:二进制,Binary,是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”。

计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0。

八进制:八进制,Octal,缩写OCT或O,一种以8为基数的计数法,采用0,1,2,3,4,5,6,7八个数字,逢八进1。一些编程语言中常常以数字0开始表明该数字是八进制。

十进制:十进制,Decimal,就是日常生活中用的最多的,如:1,2,3,……100,200,300……。十进制基于位进制和十进位两条原则,即所有的数字都用10个基本的符号表示,满十进一,同时同一个符号在不同位置上所表示的数值不同,符号的位置非常重要。基本符号是0到9十个数字。

十六进制:十六进制(英文名称:Hexadecimal),是计算机中数据的一种表示方法。同我们日常生活中的表示法不一样。它由0-9,A-F组成,字母不区分大小写。与10进制的对应关系是:0-9对应0-9;A-F对应10-15;N进制的数可以用0~(N-1)的数表示,超过9的用字母A-F。

以下图片,就是它们之间的关系了:

二进制、八进制、十进制与十六进制的概念以及它们之间的转换

下面就来看看它们之间的转换关系:

十进制转二进制

方法为:十进制数除2取余法,即十进制数除2,余数为权位上的数,得到的商值继续除2,依此步骤继续向下运算直到商为0为止。

例如:把十进制数 150 转换为 二进制数:如下:二进制、八进制、十进制与十六进制的概念以及它们之间的转换

二进制转十进制

方法为:把二进制数按权展开、相加即得十进制数。

二进制、八进制、十进制与十六进制的概念以及它们之间的转换

二进制转八进制

方法为:3位二进制数按权展开相加得到1位八进制数。(注意事项,3位二进制转成八进制是从右到左开始转换,不足时补0)。

二进制、八进制、十进制与十六进制的概念以及它们之间的转换

八进制转成二进制

方法为:八进制数通过除2取余法,得到二进制数,对每个八进制为3个二进制,不足时在最左边补零。

二进制、八进制、十进制与十六进制的概念以及它们之间的转换

二进制转十六进制

方法为:与二进制转八进制方法近似,八进制是取三合一,十六进制是取四合一。(注意事项,4位二进制转成十六进制是从右到左开始转换,不足时补0)。

二进制、八进制、十进制与十六进制的概念以及它们之间的转换

十六进制转二进制

方法为:十六进制数通过除2取余法,得到二进制数,对每个十六进制为4个二进制,不足时在最左边补零。

二进制、八进制、十进制与十六进制的概念以及它们之间的转换

方法1:除8取余法,即每次将整数部分除以8,余数为该位权上的数,而商继续除以8,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数起,一直到最前面的一个余数。

例:将十进制的(796)D转换为八进制的步骤如下:

1. 将商796除以8,商99余数为4;

2. 将商99除以8,商12余数为3;

3. 将商12除以8,商1余数为4;

4. 将商1除以8,商0余数为1;

5. 读数,因为最后一位是经过多次除以8才得到的,因此它是最高位,读数字从最后的余数向前读,1434,即(796)D=(1434)O

二进制、八进制、十进制与十六进制的概念以及它们之间的转换

方法2:使用间接法,先将十进制转换成二进制,然后将二进制又转换成八进制;

二进制、八进制、十进制与十六进制的概念以及它们之间的转换

十进制转八进制或者十六进制有两种方法

第一:间接法—把十进制转成二进制,然后再由二进制转成八进制或者十六进制。这里不再做图片用法解释。

第二:直接法—把十进制转八进制或者十六进制按照除8或者16取余,直到商为0为止。

二进制、八进制、十进制与十六进制的概念以及它们之间的转换

八进制或者十六进制转成十进制

方法为:把八进制、十六进制数按权展开、相加即得十进制数。

二进制、八进制、十进制与十六进制的概念以及它们之间的转换

八进制 >十六进制

方法:将八进制转换为二进制,然后再将二进制转换为十六进制,小数点位置不变。

例:将八进制的(327)O转换为十六进制的步骤如下:

1. 3 = 011;

2. 2 = 010;

3. 7 = 111;

4. 0111 = 7;

5. 1101 = D;

6. 读数,读数从高位到低位,D7,即(327)O=(D7)H。

二进制、八进制、十进制与十六进制的概念以及它们之间的转换

十六进制 >八进制

方法:将十六进制转换为二进制,然后再将二进制转换为八进制,小数点位置不变。

例:将十六进制的(D7)H转换为八进制的步骤如下:

1. 7 = 0111;

2. D = 1101;

3. 0111 = 7;

4. 010 = 2;

5. 011 = 3;

6. 读数,读数从高位到低位,327,即(D7)H=(327)O。

二进制、八进制、十进制与十六进制的概念以及它们之间的转换

好吧,进制数的讲解就讲到这里了,谢谢大家的浏览与关注,有什么错误的地方欢迎大家批评指正,谢谢!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多