Python各进制间的转换

表示各进制的符号:

b:二进制,o:八进制,d:十进制,x:十六进制

bin()、oct()、hex()返回值均为字符串,且分别带有0b、0o、0x前缀。

1、十进制转二进制

>>> bin(10)
‘0b1010‘

>>> ‘{0:b}‘.format(10)
‘1010‘

这两种方法返回的都是二进制的字符串表示。

对十进制数直接转二进制

list1 = []
if num <= 1 and num >= 0:
  print "二进制:%d" %(num)
else :
  while num > 1 :
    list1.append(str(num % 2))
    num /= 2
  list1.append(str(num))
  list1.reverse()

2、十进制转八进制

>>> oct(12)
‘014‘
>>> ‘{0:o}‘.format(12)
‘14‘

3、十进制转十六进制

>>> hex(12)
‘0xc‘
>>> ‘{0:x}‘.format(12)
‘c‘

4、二进制转十进制

>>> int(‘1010‘,2)
10

>>> eval(‘0b10‘)
2

int(string_num, n):

string_num:进制的字符串表示

n:表示string_num是多少进制的数

5、八进制转十进制

>>> int(‘014‘,8)
12
>>> ‘{0:d}‘.format(014)
‘12‘

>>> eval(‘0o10‘)
8

6、十六进制转十进制

>>> ‘{0:d}‘.format(0xc)
‘12‘
>>> int(‘0xc‘,16)
12
>>> eval(‘0x10‘)
16

注意:

hex函数比格式化字符串函数format慢,不推荐使用。

eval函数比int函数慢,不推荐使用。

二进制、十六进制、八进制之间的转换,可以借助十进制这个中间值,即先转十进制再转其他进制,也可以直接使用函数进行转换。如:

十六进制转二进制:

#借助十进制
>>> bin(int(‘fc‘,16))
‘0b11111100‘
#利用函数直接转
>>> bin(0xa)
‘0b1010‘
>>> oct(0xa)
‘012‘
>>> hex(10)
‘0xa‘

版权声明:本文为博主原创文章,可以转载,但得注明出处。更多精彩文章请关注微信公众号:gloryroadtrain

时间: 2024-11-06 09:37:38

Python各进制间的转换的相关文章

Python 各进制间的转换(转)

转载自:http://blog.chinaunix.net/uid-21516619-id-1824975.html python 2.6以后内置函数#10进制转为2进制>>> bin(10)'0b1010'#2进制转为10进制>>> int("1001",2)9 #10进制转为16进制>>> hex(10)'0xa'#16进制到10进制>>> int('ff', 16)255>>> int('0

Python 2、8、10、16进制间的转换

进制转换一直是初学者所头疼的,下面就简单的列出各进制之间都是以什么方式转换的. # print('2-->8: ', oct(int('0b1010', 2))) # 2-10-8 # print('2-->10:', int('0b1010', 2)) # 2-10 # print('2-->16:', hex(int('0b1010', 2))) # 2-10-16 # print('8-->2:', bin(int('0o12', 8))) # 8-10-2 # print(

python——进制间的转换

int(string_num, n)  string_num表示某种进制的字符串,n表示string_num是什么进制数 2.8.16 进制转为10进制:使用int()或者eval() 10 进制转为2.8.16进制:使用bin().oct().hex()  或者  使用format() b:二进制,o:八进制,d:十进制,x:十六进制 bin().oct().hex()返回值均为字符串,且分别带有0b.0o.0x前缀 hex函数比format函数慢,eval函数比int函数慢 示例: # 二进

Java进制间的转换

最近学习了Java间的进制转换,记录下自己的学习心得,希望可以帮到前来查看的朋友们,如果有不懂的地方可以在下方评论留言,我们一起学习进步,只有自己足够强大才能弥补不足,多学习, 任意进制到十进制的转换: 12345=10000+2000+300+40+5 =1*10^4+2*10^3+3*10^2+4*10^1+5*10^0 =12345 系数:就是每一位上的数据 基数:X进制,基数就是X 权:在右边,从0开始编写,对应位上的编号就是该位的权, 结果:把系数乘基数的权次幂相加即可 0b100这次

进制间的转换(二进制、八进制、十六进制、十进制)

进制转换在我们生活中使用十分频繁 我们比较常见的进制有 1.二进制 2.八进制 3.十进制 4.十六进制 5.十二进制 6.二十四进制 7...... 一.二进制 我们都知道二进制是在计算机中运用的较多,因为计算机中只有两种状态(开关或者高电平低电平) 我们一般用基数0和1来表示,二进制的运算时逢2进1 一般我们运算有两种方法 1.1-除二取余法 这个方法是一个解决方案 例如:(我们在这里是十进制转化为二进制) 13转化为二进制 13/2=6..........1 6/2=3..........

进制间的互相转换

一)十进制 转换 为其他进制:采用倒取余数法 例1:十进制89 转换为 五进制数 89/5=17 余 4 ,余数是4 17/5=3 余 2 ,余数是2 3/5=0 余 3 ,余数是3 那么转换为五进制数是324,要把余数倒过来写. 反过来算就是: 4*5^0 + 2*5^1 + 3*5^2 = 89 例2:十进制957 转换为 十六进制数 957/16 = 59 余13,余数是13,即D 59/16 = 3 余 11,余数是11,即B 3/11 = 0 余 3, 余数是3 所以转换为十六进制数是

进制间的相互转化

原文:进制间的相互转化 进制间的转换如下图所示: 由上图可知,进制间共有12种转换.下面将逐一介绍这12种转换方法 (1)二进制转化为八进制 原理:<1>1位八进制数可以用3位二进制数码表示 <2>以小数点为边界:若小数点左侧(即整数部分)不是3的整数倍,则在最左侧补零,对小数点右侧(即小数部分)应在最右侧补零 例:   将(10.101)2 转化为八进制. 解:(1)将二进制补足3位 即:(010.101)2 (2)按权值转换 (0×22 + 1×21 +0×20).(1×22

2~16进制间任意进制转换器

一.程序运行截图(仅列举部分) 正数: (1)10->8 (连续五次不输入程序会自动结束哦) (2)10->2 (3)16->10 (4)8->16  负数: (1)10->2 (2)10->2 (3)8->16  二.扩展功能 1.可以识别正负数并输出,当输出为二进制时会自动将其补为有符号位的八位或十六位. 2.能在2至16所有进制间任意转换: 3输入错误时会报错并让你重新输入: 4.加了一个没卵用的随机数来使最后一句话随机输出. 三.介绍函数及其使用的全局变量

Python的进制等转换

To 十进制 二进制: >>> int('110', 2) -> 6 八进制: >>> int('10', 8) -> 8 十六进制: >>> int('10', 16) -> 16 >>> int('1A', 16) -> 26 To 十六进制: 十进制: >>> hex(12) -> ‘0xc’ 二进制: >>> hex(0b100) -> ‘0x4’ 八进制