首页 > 编程语言 > 详细

Python进制转换

时间:2018-08-19 15:15:31      阅读:268      评论:0      收藏:0      [点我收藏+]
进制转换:先介绍不用函数的方法,再介绍用函数的方法

二进制转十进制:
1101 转为十进制 1*2^(4-1)+1*2^(3-1)+0*2^(2-1)+1*2^(1-1) 即各个位拆开,乘以2的(位数-1)次方,结果为13
>>> int(1101,2)  
13
>>> int(‘0o226‘,8) #00226 0:阿拉伯数字零 o:小写英文字母 o 226:八进制数
150
>>> int(‘0x96‘,16)
150

同理可得:把八进制、十六进制数按权展开、相加即得十进制数。

技术分享图片

十进制转二进制:
比如13 用13除以2,得到的商再除以2 直到除到1,然后记录每次得到的余数, 从后往前读,即为 1101
同理可得,十进制转八进制或者十六进制按照除8或者16取余,直到商为0为止,再从最后一位读到第一位
技术分享图片
>>> bin(13)
0b1101

 技术分享图片

 

八进制转为二进制:
比如八进制数 (37)8
拆开 3   7     
3用2禁制表示为 11                           
7用二进制表示为 111                       
合起来 即为 11 111
同理 十六进制转二进制
>>> bin(0o37)    #0o37   0:阿拉伯数字0   o:八进制表示
0b11111
>>> bin(0x33)
0b110011
>>> 

 

二进制转八进制:
二进制从右边数,3位3位为一组,转为十进制比如:
10 110 011 111
2     6    3      7    对应八进制就是为 (2637)8
同理十六进制,不过此时二进制应该是 从右往左边数,4位4位为一组
>>> oct(0b10110011111)
0o2637
>>> hex(0b10110011111)
0x59f
>>> 

101 1001 1111    转为十六进制对应如下:

5         9     f (15)

 

八进制与十六进制之间的转换有两种方法:

第一种:他们之间的转换可以先转成二进制然后再相互转换。

第二种:他们之间的转换可以先转成十进制然后再相互转换。

>>> oct(0x37)
0o67
>>> hex(0o67)
0x37

 

 

 

 

 

 

Python进制转换

原文:https://www.cnblogs.com/gkx0731/p/9501276.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!