Python进制转换

一 内置函数

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

实例 统计二进制数里1的个数

def countBits(n):
    return bin(n).count("1")
countBits(4)

二 format

In [54]: ‘{:b}‘.format(17)
Out[54]: ‘10001‘
In [55]: ‘{:d}‘.format(17)
Out[55]: ‘17‘
In [56]: ‘{:o}‘.format(17)
Out[56]: ‘21‘
In [57]: ‘{:x}‘.format(17)
Out[57]: ‘11‘

  实例 求两个二进制字符串的和 不能用内置函数

def toDecimal(num):
    return  sum( (b == ‘1‘)*2**i  for i,b in enumerate(num[::-1]))
def add(a,b):
    return ‘{:b}‘.format(toDecimal(a) + toDecimal(b))
add(‘111‘,‘10‘)

‘1001‘ #这里没有前缀

此外format还有很多其他功能,控制精度,对齐等格式化输出

上面统计1的个数也可以写成

def countBits(n):
    return ‘{:b}‘.format(n).count(‘1‘)
时间: 2024-10-12 18:25:34

Python进制转换的相关文章

Python 进制转换、位运算

一.进制转换 编程用十进制,十进制转换为二进制.八进制.十六进制 In [135]: bin(23) Out[135]: '0b10111' In [136]: oct(23) Out[136]: '0o27' In [137]: hex(23) Out[137]: '0x17' 也可以直接反向获取十进制 In [146]: 0b10111 Out[146]: 23 In [147]: 0o27 Out[147]: 23 In [148]: 0x17 Out[148]: 23 也可以用int函数

python 进制转换

def intToList(ret): list = [] for i in range(1, 8): list.append(a & 2**i and 1) return list #python 2.6以后内置函数#10进制转为2进制>>> bin(10)'0b1010'#2进制转为10进制>>> int("1001",2)9#10进制转为16进制>>> hex(10)'0xa'#16进制到10进制>>>

python进制转换(二丶八丶十丶十六)

#二进制转换成十进制##v = "0b1111011"##print(type(v))##a = int(v,2)##print(type(a))##print(a) #十进制转换成二进制##v = 18##v = bin(v)##print(v) #八进制转换为十进制##v = "011"##print(int(v,8)) #十进制转化为八进制##v = 30##print(oct(v))##shi = oct(v)##print(int(shi,8)) #十六进

Python进制转换(二进制、十进制和十六进制)

#!/usr/bin/env python # -*- coding: utf-8 -*- # 2/10/16 base trans. wrote by srcdog on 20th, April, 2009 # ld elements in base 2, 10, 16. import os,sys # global definition # base = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F] base = [str(x) for x

Python内置函数进制转换的用法

使用Python内置函数:bin().oct().int().hex()可实现进制转换. 先看Python官方文档中对这几个内置函数的描述: bin(x)Convert an integer number to a binary string. The result is a valid Python expression. If x is not a Python int object, it has to define an __index__() method that returns a

一、基础部分-1.进制转换

一.计算机为啥使用二进制? 参考:https://www.zhihu.com/question/20830886 (简单易懂) 二.Python进制转换 1. 进制表示 2进制 01 8进制 01234567 10进制 0123456789 16进制 0123456789ABCDEF 2. 二进制转换函数 2进制-->10进制: #使用int函数 >>> int("11111111",2) 255 2进制-->8进制: #使用oct函数 >>&

Python中数字之间的进制转换

https://www.cnblogs.com/Kingfan1993/p/9795541.html 在python中可以通过内置方法进行相应的进制转换,但需记得转化成非十进制时,都会将数字转化成字符串 转化成二进制 a = 10 #声明数字,默认十进制 b = bin(a) print(b , type(b)) 运行结果: 转化成八进制 a = 10 #声明数字,默认十进制 b = oct(a) print(b , type(b)) 运行结果: 转化成16进制 a = 10 #声明数字,默认十

python 实现进制转换(二进制转十进制)

摘自https://baike.baidu.com/item/%E5%8D%81%E8%BF%9B%E5%88%B6%E8%BD%AC%E4%BA%8C%E8%BF%9B%E5%88%B6 python实现进制转换:https://www.cnblogs.com/cookie1026/p/6059766.html 十进制转二进制 编辑 1. 十进制整数转换为二进制整数 十进制整数转换为二进制整数采用"除2取余,逆序排列"法.具体做法是:用2整除十进制整数,可以得到一个商和余数:再用2去

Python中进制转换函数的使用

Python中进制转换函数的使用 关于Python中几个进制转换的函数使用方法,做一个简单的使用方法的介绍,我们常用的进制转换函数常用的就是int()(其他进制转换到十进制).bin()(十进制转换到二进制).oct()(十进制转换到八进制).hex()(十进制转换到十六进制). 下面我们逐个说下每个函数的用法. bin bin()函数,是将十进制的数字转换成二进制的数字.其中bin()函数中传入的是十进制的数字,数据类型为数字类型. v = 18 num = bin(v) print(num)