二进制、八进制、十进制、十六进制之间的转换

  最近复习软考各种进制之间的转换着实让人头疼,今天把常用的几种进制之间的转换问题简单做个总结,希望能够对大家有所帮助。

 
二进制八进制之间的转换

  二进制与八进制之间的关系式每个八进制位对应三个二进制位,详情如下:

  八进制:  0    1     2    3     4    5     6    7    

  二进制:000 001 010 011 100 101 110 111

  实例:

  27.651(8)  010111.110101001(2)

  1001.000101(2)  11.05(8)

 
二进制与十进制的转换

  二进制转换为十进制就是将二进制第i位的值乘以2的i-1次方。  

 
二进制转换为十进制

  例如:10110101转换为十进制就是1*2的1-1次方+0*2的2-1次方+1*2的3-1次方+0*2的4-1次方+1*2的5-1次方+1*2的6-1次方+0*2的7-1次方+1*2的8-1次方=1+0+4+0+16+32+0+128=181

 
十进制转换成二进制

  十进制转换成二进制就是用2除要转换的十进制,直到商为0,并将所有的余数从后往前连起来就是转换成功后对应的二进制。

  例如:181转换为二进制,181/2=90余1,90/2=45余0,45/2=22余1,22/2=11余0,11/2=5余1,5/2=2余1,,2/2=1余0,1/2=0余1,最后结果为10110101。

 
二进制与十六进制的转换

  二进制与十六进制的对应关系为每个十六进制位对应4个二进制位,详情如下:

  十六进制:0        1        2        3        4        5        6        7        8        9         A         B       C       D       E        F

  二进制:    0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 

  实例:FA8765(16)  111110101000011101100101(2)

 
八进制与十进制直间的转换

  八进制转十进制

  这个与二进制转十进制类似,将八进制的第i位的值乘以8的i-1次方。

  例如:F76转换为十进制就是6*8的1-1次方+7*8的2-1次方+15*8的3-1次方=6+56+960=1122

 
十进制转八进制

  十进制转八进制就是用8除要转换的十进制,直到商为0然后把所有的余数从后往前连起来就是软还成功的八进制。

  例如181转换为八进制,181/8=22余5,22/8=2余6,2/8=0余2,最后结果为265

 
八进制与十六进制的转换

  一般情况我们不对这两种进制直接进行转换,而是先将八进制或者十六进制转换为二进制,然后再进行二进制与八进制或者16进制进行转换。

 
十进制与十六进制进行转换

  十六进制与八进制都是由二进制演变来的,所以十六进制余十进制之间的转换可以参照十进制与二进制或者十进制与八进制之间的转换规则,原理都是一样的,这里就不重复介绍了。

  以上是能是进制直接转换的一些方法,当然还可能其他的转换方式,希望大家多多交流,有不足之处请大家批评指正。

时间: 2024-11-09 00:03:33

二进制、八进制、十进制、十六进制之间的转换的相关文章

Python进制转换(二进制/八进制/十进制/十六进制)

Python 进制转换 二进制 八进制 十进制 十六进制 作者:方倍工作室 地址:http://www.cnblogs.com/txw1958/p/python3-scale.html    全局定义 base = [str(x) for x in range(10)] + [ chr(x) for x in range(ord('A'),ord('A')+6)]   二进制 to 十进制 : int(str,n=10)  def bin2dec(string_num): return str(

进制转换算法原理(二进制 八进制 十进制 十六进制)_相关技巧

1.二进制数.八进制数.十六进制数转十进制数 有一个公式:二进制数.八进制数.十六进制数的各位数字分别乖以各自的基数的(N-1)次方,其和相加之和便是相应的十进制数.个位,N=1;十位,N=2...举例: 110B=1*2的2次方+1*2的1次方+0*2的0次方=0+4+2+0=6D 110Q=1*8的2次方+1*8的1次方+0*8的0次方=64+8+0=72D 110H=1*16的2次方+1*16的1次方+0*16的0次方=256+16+0=272D 2.十进制数转二进制数.八进制数.十六进制

php 实现进制转换(二进制、八进制、十六进制)互相转换实现代码

十进制转换为二进制.八进制.十六进制 从十进制向其它进制转换,用的是就用该数字不断除以要转换的进制数,读取余数.连接一起就可以了. 复制代码 代码如下: <?php /** *十进制转二进制.八进制.十六进制 不足位数前面补零* * * @param array $datalist 传入数据array(100,123,130) * @param int $bin 转换的进制可以是:2,8,16 * @return array 返回数据 array() 返回没有数据转换的格式 * @copyrig

[java]二、八、十、十六进制之间的转换

int n1 = 14; //十进制转成十六进制: Integer.toHexString(n1); //十进制转成八进制 Integer.toOctalString(n1); //十进制转成二进制 Integer.toBinaryString(12); //十六进制转成十进制 Integer.valueOf("FFFF",16).toString(); //十六进制转成二进制 Integer.toBinaryString(Integer.valueOf("FFFF"

我的Java开发学习之旅------&amp;gt;二进制、八进制、十进制、十六进制之间转换

一. 十进制与二进制之间的转换 (1) 十进制转换为二进制,分为整数部分和小数部分 ① 整数部分 方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数.下面举例: 例:将十进制的168转换为二进制  得出结果 将十进制的168转换为二进制,(10101000)2 分析:第一步,将168除以2,商84,余数为0. 第二步,将商84除以2,商42余数为0.

PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明_php技巧

一,十进制(decimal system)转换函数说明 1,十进制转二进制 decbin() 函数,如下实例 echo decbin(12); //输出 1100 echo decbin(26); //输出 11010 decbin (PHP 3, PHP 4, PHP 5) decbin -- 十进制转换为二进制 说明 string decbin ( int number ) 返回一字符串,包含有给定 number 参数的二进制表示.所能转换的最大数值为十进制的 4294967295,其结果为

php中十进制、二进制、八进制和十六进制转换函数

一,十进制(decimal system)转换函数说明 1,十进制转二进制 decbin() 函数,如下实例  代码如下 复制代码 echo decbin(12); //输出 1100 echo decbin(26); //输出 11010 decbin (PHP 3, PHP 4, PHP 5) decbin -- 十进制转换为二进制 说明 string decbin ( int number ) 返回一字符串,包含有给定 number 参数的二进制表示.所能转换的最大数值为十进制的 4294

HexConversion 二进制 八进制 十六进制 十进制

public class HexConversion { // TODO Auto-generated method stub /** * TODO 进制转换. * * @param cc * http://yunpan.cn/QD8epsIs6YPXG */ public static void main(String[] args) { /** * 基本原理 二进制-->十进制 * * 1101(2)=1*2^0+0*2^1+1*2^2+1*2^3=1+0+4+8=13 * * 八进制-->

浅谈二进制、十进制、十六进制、字符串之间的相互转换_java

1. 字节转10进制 直接使用(int)类型转换. /* * 字节转10进制 */ public static int byte2Int(byte b){ int r = (int) b; return r; } 2. 10进制转字节 直接使用(byte)类型转换. /* * 10进制转字节 */ public static byte int2Byte(int i){ byte r = (byte) i; return r; } 3. 字节数组转16进制字符串 对每一个字节,先和0xFF做与运算