一、各种进制的介绍
十进制(Decimal)
十进制的基数为10,数码由0-9组成,计数规律逢十进一。
二进制(Binary)
二进制:它由两个数码0,1组成,二进制数运算规律是逢二进一。
八进制(Octal)
理解了二进制,在理解八进制就很容易了,八进制是逢八进一,范围是 0~7。
十六进制(Hexadecimal)
十六进制数:它由十六个数码:数字0~9加上字母A-F组成(它们分别表示十进制数10~15),十六进制数运算规律是逢十六进一
二、python进制的转换方法
1、十进制转二进制(bin)
首先我们看看怎么把一个十进制转化成二进制,我们可以使用python的内置方法 bin
num=10
print(bin(num))
输出二进制(python 中二进制以ob开头)
0b10100
2、十进制转八进制(oct)
继续看十进制转化为八进制,使用方法oct(num)
num=20
print(oct(num))
输出八进制(python 中八进制以0o开头)
0o24
3、十进制转16进制(hex)
再看十进制转化16进制,同样使用python的内置方法进行hex(num)
num=20
print(hex(num))
输出十六进制(python 中十六进制以0x开头)
0x14
4、二进制、八进制以及十六进制转换十进制(int)
num1=0b10100
num2=0o24
num3=0x14
print(int(num1),int(num2),int(num3))
输出十进制
20 20 20
5、二进制转换八进制(oct)
num1=0b10100
print(oct(num1))
输出八进制
0o24
6、二进制转换十六进制(hex)
num1=0b10100
print(hex(num1))
输出十六进制
0x14
三、进制转换算法
1、二进制 → 十进制
方法:二进制数从低位到高位(即从右往左)计算,第0位的权值是2的0次方,第1位的权值是2的1次方,第2位的权值是2的2次方,依次递增下去,把最后的结果相加的值就是十进制的值了。
例如将二进制的0b101011转换为十进制的步骤如下:
第0位 1 x 2^0 = 1;
第1位 1 x 2^1 = 2;
第2位 0 x 2^2 = 0;
第3位 1 x 2^3 = 8;
第4位 0 x 2^4 = 0;
第5位 1 x 2^5 = 32;
把结果值相加1+2+0+8+0+32=43,即0b101011=43
2、八进制 → 十进制
方法:八进制数从低位到高位(即从右往左)计算,第0位的权值是8的0次方,第1位的权值是8的1次方,第2位的权值是8的2次方,依次递增下去,把最后的结果相加的值就是十进制的值了。
八进制就是逢8进1,八进制数采用 0~7这八数来表达一个数。
例如将八进制的0o34转换为十进制的步骤如下:
第0位 4 x 8^0 = 4;
第1位 3 x 8^1 = 24;
把结果值相加,4+24=28,即0o34=28
3、十六进制 → 十进制
方法:十六进制数从低位到高位(即从右往左)计算,第0位的权值是16的0次方,第1位的权值是16的1次方,第2位的权值是16的2次方,依次递增下去,把最后的结果相加的值就是十进制的值了。
十六进制就是逢16进1,十六进制的16个数为0123456789ABCDEF。文章来源:https://www.toymoban.com/news/detail-608794.html
例如将十六进制的0x3c转换为十进制的步骤如下:
第0位 c x 16^0 = 12;
第1位 3 x 16^1 = 48;
把结果值相加,12+48=60,即0x3c=60
4、十进制 → 二进制
方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数。 文章来源地址https://www.toymoban.com/news/detail-608794.html
例如将十进制的56转换为二制的步骤如下:
将商56除以2,商28余数为0;
将商28除以2,商14余数为0;
将商14除以2,商7余数为0;
将商7除以2,商3余数为1;
将商3除以2,商1余数为1;
将商1除以2,商0余数为1;
因为最后一位是经过多次除以2才得到的,因此它是最高位,读数字从最后的余数向前读,111000,所以56=ob111000。
到了这里,关于python如何进行进制转换的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!