山东浩景建设有限公司网站,主流门户网站,wordpress 加上index,广东省石油化工建设集团公司网站简介
进制转换可能是一个工作学习中的常见小任务#xff0c;手写相关函数显然很麻烦。
Python有相关内置函数一般能满足我们的需求。bin()、oct()、hex()将十进制转换为常用的二、八、十六进制#xff0c;而 int()函数可指定第二个参数从而将其它进制转换为十进制。或许后者…简介
进制转换可能是一个工作学习中的常见小任务手写相关函数显然很麻烦。
Python有相关内置函数一般能满足我们的需求。bin()、oct()、hex()将十进制转换为常用的二、八、十六进制而 int()函数可指定第二个参数从而将其它进制转换为十进制。或许后者即 int()函数的这一用法易被人忽略。
一、bin()、oct()、hex() 函数
参数一般为 int 类型可为负数返回其二进制、八进制、十六进制的字符串有相应前缀 bin(x)返回 x 的二进制 0b... oct(x)返回 x 的八进制 0o... hex(x)返回 x 的十六进制 0x...
print(bin(27), oct(31), hex(-52))
0b11011 0o37 -0x34
二、int() 函数
用法一普通显然
int(x0)从十进制整数/浮点数/对应字符串构造整数。对浮点数“去尾”trunc; 无论正负。
print(int(9.8), int(-9.8))
9 -9
★ 用法二其它进制转换为十进制
int(x, base10)x 为表示整数的字符串前可有紧连的正负号且若指定了 base 则 x 必须为字符串base 必须为 2~36或0 base 在 2~36 x 中 10~35 的数位应依次由 a~z 或 A~Z 表示二、八、十六进制数分别可有0b/0B, 0o/0O, 0x/0X 前缀。 base 等于 0可识别 0b/0B, 0o/0O, 0x/0X 前缀若无则按照十进制但此时不得有前导0。
print(int( 37 ,base8), int( -z8Y ,base36))
31 -45682print(int(0x34,base16), int(0x34,base0))
52 52print(int(0x34))
ValueError: invalid literal for int() with base 10: 0x34