进制转换(各进制的原理)

Posted ly_godc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了进制转换(各进制的原理)相关的知识,希望对你有一定的参考价值。

二进制

一个字节等于8个二进制数

0       0    0    0   0  0  0  0

1       1    1    1   1  1  1  1

128  64  32  16  8  4  2   1

 

1代表有,0代表没有,从右往左看,八个二进制数分别代表了1,2,4,8,16,32,64,128。这8个二进制组合可以代表1~256当中的任何一个数字(所有都是1的话加起来就是256,所有都是0的话加起来就是0。  1~256当中任何一个数字都可以从中表示出来)。这256个字符可以转换成256个字符,这就是所谓的ASCII码。

 

比如:二进制表示 37

           0       0   1    0    0   1  0  1

          128   64  32  16   8   4  2  1

1代表有,2代表没有,对照一下,为1的加起来就等于37,这就是二进制的原理。

 

十进制

就是人们常用的数字1,2,3,4,5.。。。。

 

八进制

一种以8为基数的计数法,采用01234567八个数字,逢八进1

八进制和十进制原理一样,只不过十进制不限制范围,但是8进制只是0~7,0~7这八个数字用二进制表示如上图所示,转换原理就是二进制转十进制

例子:

    十进制数115

    二进制表示就是     

           0      1    1   1   0  0  1  1

          128  64  32  16  8  4  2  1

所有有1的加起来就是115

八进制表示就是把二进制三个三个分开(左边可以无限补0)0 1    1 1  0     0  1  1

 

第一个0  1                       其实就是0  0  1   转换成八进制代表1

第二个1  1  0                   转换成八进制代表6

第三个0  1  1                   转换成八进制代表   3

所以115转换成八进制就是163

 

十六进制

16进制就是逢161,但我们只有0~9这十个数字,所以我们用ABCDEF这六个字母来分别表示101112131415。字母不区分大小写。

 

例子:加入有一个十六进制数字  2AF5,转换成二进制、十进制。

拆分,先看  5  换成二进制为  0 1 0 1

                 F   换成二进制为  1 1 1 1

                 A   换成二进制为  1 0 1 0

                 2   换成二进制为   0 0 1 0

所以换成二进制加起来就是 0 0 1 0 1 0 1 0 1 1 1 1 0 1 0 1

转换成十进制为 5 * 16^0 + F * 16^1 + A * 16^2 + 2 * 16^3 = 10997

 

上边是各进制转换的原理,把原理理解透,然后在用那些转换的方法。

以上是关于进制转换(各进制的原理)的主要内容,如果未能解决你的问题,请参考以下文章

C语言中的各进制的转换方法

各进制数间转换

Java各进制之间的转换

计算机各进制之间的转换

7. 进制转化的原理

Python 各进制间的转换(转)