python 二进制,十进制,十六进制
来源:互联网 发布:理财大视野数据靠谱吗 编辑:程序博客网 时间:2024/05/21 22:24
十进制:decimal system,每一位最高为9,达不到10
二进制:binary system,每一位最高为1,达不到2
八进制:octonary number system,每一位最高为7,达不到8
十六进制:hexadecimal,每一位最高为
15 或者0xf ,取不到16(那就是0xG 了,:-D)。
推论:
如果一个数为25,则它的进制不低于6进制;
自然也可以这样理解,如果一个数的某一位的取值范围为
[0,m−1] ,则该数即为m 进制;
>>> 0b101010 # 也即python原生语法是支持二进制表示>> 0xff255 # 自然也支持八进制
向十进制转换
int(string, base) # 第一个参数标识:需要转换的原始的数据,以字符串的形式表示 # 第二个参数标识:原始数据的base或者叫本身的进制表示 # 2:二进制 # 8:八进制 # 16:表示16进制 # 最终转化为十进制
二进制 ⇒ 十进制
>>> int('1010', 2)10
十六进制 ⇒ 十进制
>>> int('f', 16)15>>> int('0xf', 16)15>>> int('0xff', 16)255
八进制 ⇒ 十进制
>>> int('17', 8)15 # 15 = 7*8^0+1*8^1
向16进制转化
hex(string) # 也即没有进制的设置 # 只接受10进制 # 为实现其他进制的转换,可先转换为十进制使用int() # 返回位字符串类型
>>> hex(1033)'0x409'>>> hex(int('101010', 2))'0x2a'>>> hex(int('17', 8))'0xf'
向二进制转换
bin(十进制整型)
>>> bin(10)'0b1010'>>> bin(int('ff',16))'0b11111111'>>> bin(int('17',8))'0b1111'
向八进制转换
oct() # 不同于hex/bin # 通过参数进行判断 # 其是二进制、十进制、16进制 # 也即oct函数可将任意进制的数转换为8进制
>>> oct(0b1010)'012'>>> oct(11)'013'>>> oct(0xf)'017'
向 m进制
的转换
不断的对m
求模取余,余数为当前位(低位向高位),商新的被除数,支持商为0。
例,我们以十进制的25向3进制转换;
25/3 ⇒ 8(1)
8/3 ⇒ 2(2)
2/3 ⇒ 0(2)
则25的三进制表示为 221
,
def base(x, m): ms = [] while x: ms.append(x%m) x //= m # python 3 # //:表示整除,保留整数部分 // /:得float类型 return ms
References
[1] Python 二进制,十进制,十六进制转换
0 0
- python 二进制,十进制,十六进制
- Python 二进制,十进制,十六进制转换
- 十进制-->十六进制和十进制-->二进制
- 十进制二进制 八进制 十六进制
- 十进制二进制 八进制 十六进制
- 十进制、二进制和十六进制
- 十进制 二进制 八进制 十六进制
- 十进制转二进制、十六进制
- 二进制&八进制&十进制&十六进制
- 二进制 十进制 八进制 十六进制
- 二进制 八进制 十进制 十六进制
- 二进制,十进制,十六进制计算
- 二进制 八进制 十进制 十六进制
- 二进制,八进制,十进制,十六进制
- 二进制&十进制&十六进制
- 二进制 八进制 十进制 十六进制
- 十进制,十六进制转二进制
- 二进制、八进制、十进制、十六进制
- TinyOS bug程序的执行01(T-Check中的bug)
- 显著性检测(Salient Detection)
- 1007. 素数对猜想 (20)
- RDD持久化、广播、累加器
- windows程序设计(第五版)笔记-001
- python 二进制,十进制,十六进制
- 配置Ceph为openstack后端
- 浮点数的理解和BigDecimal的使用
- 关于符号位扩展你又知道多少
- bzoj2002
- iOS9 中不支持http
- 我对递归的认识
- MySQL 常用日期和时间处理函数
- iTerm2 快捷键