看代码吧~
1
2
3
4
5
6
7
8
9
10
11
|
dec = input ( '10进制数为:' ) print ( "转换为二进制为:" , bin (dec)) print ( "转换为八进制为:" , oct (dec)) print ( "转换为十六进制为:" , hex (dec)) string1 = '101010' print ( '二进制字符串转换成十进制数为:' , int (string1, 2 )) string1 = '367' print ( '八进制字符串转换成十进制数为:' , int (string1, 8 )) string3 = 'FFF' print ( '十六进制字符串转换成十进制数为:' , int (string1, 16 )) |
leetcode第476题:
Input: 5
Output: 2
Explanation: The binary representation of 5 is 101 (no leading zero bits), and its complement is 010. So you need to output 2.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
class Solution: def findComplement( self , num): """ :type num: int :rtype: int """ string = bin (num) string1 = '' for i in range ( 2 , len (string)): if string[i] = = '1' : string1 + = '0' else : string1 + = '1' return int (string1, 2 ) #二进制字符串转换成10进制整数 |
python各进制之间转换函数
这两天在研究修正农历库的事情,搞的很累,想用代码自动完成,于是又把python捡起来了,python还是很好捡的,虽然丢了挺长时间。
其中就用了python各进制转换的问题,写下来以,备忘。之所以要写下来,而不是转发,是因为很多人写的比较啰嗦,我只把重点写出来就可以了,其他全部去掉。
一共用到四个函数:bin()、oct()、int()、hex()
int():转换为10进制;语法:Int(字符串,字符串进制) 。例: int("f",16) 输出为15;int('11',2)输出为3
即以下三个函数都是把10进制数转换成目标进制。
bin():转换为2进制;例:bin( int("f",16) )输出:'0b1111' .bin(15)同样输出'0b1111'。
oct():转换为8进制;
hex():转换为16进制。
bin()、oct()、hex()的返回值均为字符串,分别带有0b、0o、0x前缀,后续处理时需注意。
以下的x必须为“字符串”,需用引号。
2->8:oct(int(x, 2))
8->2:bin(int(x, 8))
2->16:hex(int(x, 2))
16->2:bin(int(x, 16))
其他用法一样,就不举例了。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/dxcve/article/details/81153331