您当前的位置:首页 > 计算机 > 编程开发 > 编程箴言

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

时间:03-06来源:作者:点击数:
  在编程中,有时候会用到进制数来作为操作数据,所以下面就讲下它们的概念以及它们之间的转换。
  
  进制也就是进制位,对于接触过电脑的人来说应该都不陌生,我们常用的进制包括:二进制、八进制、十进制与十六进制,它们之间区别在于数运算时是逢几进一位。比如二进制是逢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。
  
  以下图片,就是它们之间的关系了:
  
  1
  
  下面就来看看它们之间的转换关系:
  
  十进制转二进制
  
  方法为:十进制数除2取余法,即十进制数除2,余数为权位上的数,得到的商值继续除2,依此步骤继续向下运算直到商为0为止。
  
  例如:把十进制数150转换为二进制数:如下:
  
  2
  
  二进制转十进制
  
  方法为:把二进制数按权展开、相加即得十进制数。
  
  3
  
  二进制转八进制
  
  方法为:3位二进制数按权展开相加得到1位八进制数。(注意事项,3位二进制转成八进制是从右到左开始转换,不足时补0)。
  
  4
  
  八进制转成二进制
  
  方法为:八进制数通过除2取余法,得到二进制数,对每个八进制为3个二进制,不足时在最左边补零。
  
  5
  
  二进制转十六进制
  
  方法为:与二进制转八进制方法近似,八进制是取三合一,十六进制是取四合一。(注意事项,4位二进制转成十六进制是从右到左开始转换,不足时补0)。
  
  6
  
  十六进制转二进制
  
  方法为:十六进制数通过除2取余法,得到二进制数,对每个十六进制为4个二进制,不足时在最左边补零。
  
  7
  
  方法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
  
  8
  
  方法2:使用间接法,先将十进制转换成二进制,然后将二进制又转换成八进制;
  
  9
  
  十进制转八进制或者十六进制有两种方法
  
  第一:间接法—把十进制转成二进制,然后再由二进制转成八进制或者十六进制。这里不再做图片用法解释。
  
  第二:直接法—把十进制转八进制或者十六进制按照除8或者16取余,直到商为0为止。
  
  10
  
  八进制或者十六进制转成十进制
  
  方法为:把八进制、十六进制数按权展开、相加即得十进制数。
  
  11
  
  八进制>十六进制
  
  方法:将八进制转换为二进制,然后再将二进制转换为十六进制,小数点位置不变。
  
  例:将八进制的(327)O转换为十六进制的步骤如下:
  
  1. 3=011;
  
  2. 2=010;
  
  3. 7=111;
  
  4. 0111=7;
  
  5. 1101=D;
  
  6.读数,读数从高位到低位,D7,即(327)O=(D7)H。
  
  12
  
  十六进制>八进制
  
  方法:将十六进制转换为二进制,然后再将二进制转换为八进制,小数点位置不变。
  
  例:将十六进制的(D7)H转换为八进制的步骤如下:
  
  1. 7=0111;
  
  2. D=1101;
  
  3. 0111=7;
  
  4. 010=2;
  
  5. 011=3;
  
  6.读数,读数从高位到低位,327,即(D7)H=(327)O。
  
  13
  
  好吧,进制数的讲解就讲到这里了,谢谢大家的浏览与关注,有什么错误的地方欢迎大家批评指正,谢谢!
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
    无相关信息
栏目更新
栏目热门