Python 二进制、八进制、十进制、十六进制之间的转换

1、bin() , oct() 或 hex() 进行十进制整数和二进制、八进制或十六进制的字符串的转换。
2、如果不想输出 0b , 0o 或者 0x 的前缀。 可以使用 format() 函数。

二进制 bin()

# 十进制 转 二进制
int_bin = bin(15)
print(int_bin)  # '0b1111'
# 八进制 转 二进值
oct_bin = bin(0o17)
print(oct_bin)  # '0b1111'
# 十六进制 转 二进值
hex_bin = bin(0xf)
print(hex_bin)  # '0b1111'

# 二进制 转 十进制
bin_int1 = int("0b1111", 2)
print(bin_int1)  # 15
bin_int2 = int(0b1111)
print(bin_int2)  # 15

十六进制 hex()

# 二进制 转 十六进进制
bin_hex = hex(0b1111)
print(bin_hex)  # '0xf'
# 八进制 转 十六进进制
oct_hex = hex(0o17)
print(oct_hex)  # '0xf'
# 十进制 转 十六进制
int_hex = hex(15)
print(int_hex)  # '0xf'

# 十六进制 转 十进制
hex_int1 = int("0xf", 16)
print(hex_int1)  # 15
hex_int2 = int(0xf)
print(hex_int2)  # 15

八进制 oct()

# 二进制 转 八进制
bin_oct = oct(0b1111)
print(bin_oct)  # '0o17'
# 十进制 转 八进制
int_oct = oct(15)
print(int_oct)  # '0o17'
# 十进制 转 八进制
hex_oct = oct(0xf)
print(hex_oct)  # '0o17'

# 八进制 转 十进制
int1 = int("0o17", 8)
print(int1)  # 15
int1 = int(0o17)
print(int1)  # 15

format()

format() 函数得到的是没有 0b、0o、0x 等前缀的字符串值。

to_bin = format(15, 'b')
print(to_bin)  # '1111'
to_bin = format(0b1111, 'b')
print(to_bin)  # '1111'
to_bin = format(0xf, 'b')
print(to_bin)  # '1111'
to_bin = format(0o17, 'b')
print(to_bin)  # '1111'

to_oct = format(15, 'o')
print(to_oct)  # '17'
to_oct = format(0b1111, 'o')
print(to_oct)  # '17'
to_oct = format(0xf, 'o')
print(to_oct)  # '17'
to_oct = format(0o17, 'o')
print(to_oct)  # '17'

to_hex = format(15, 'x')
print(to_hex)  # 'f'
to_hex = format(0b1111, 'x')
print(to_hex)  # 'f'
to_hex = format(0xf, 'x')
print(to_hex)  # 'f'
to_hex = format(0o17, 'x')
print(to_hex)  # 'f'

to_int = format(15)
print(to_int)  # '15'
to_int = format(0b1111)
print(to_int)  # '15'
to_int = format(0xf)
print(to_int)  # '15'
to_int = format(0o17)
print(to_int)  # '15'
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python可以使用内置函数bin()、oct()、hex()将十进制转换二进制八进制十六进制数。 例如,将十进制数10转换二进制数: ```python bin(10) ``` 输出结果为: ``` 'b101' ``` 其,'b'表示二进制数的前缀。 将十进制数10转换八进制数: ```python oct(10) ``` 输出结果为: ``` 'o12' ``` 其,'o'表示八进制数的前缀。 将十进制数10转换十六进制数: ```python hex(10) ``` 输出结果为: ``` 'xa' ``` 其,'x'表示十六进制数的前缀。 ### 回答2: Python 是一种功能强大、灵活多样的编程语言,而对数字进行数制转换Python 常见的操作。本文将介绍如何使用 Python十进制数字转换二进制八进制十六进制数字。 1. 十进制二进制十进制数字转换二进制数字,可以使用 Python 内置函数 bin()。bin() 函数接受十进制数字作为参数,返回一个二进制字符串。 例如,将十进制数 10 转换二进制数: ```python >>> bin(10) '0b1010' ``` 可以看到,bin() 函数返回的结果是一个以 "0b" 开头的二进制字符串。如果不想要这个前缀,可以使用切片操作去掉: ```python >>> bin(10)[2:] '1010' ``` 2. 十进制八进制十进制数字转换八进制数字,可以使用 Python 内置函数 oct()。oct() 函数接受十进制数字作为参数,返回一个八进制字符串。 例如,将十进制数 10 转换八进制数: ```python >>> oct(10) '0o12' ``` 返回的结果也是一个以 "0o" 开头的八进制字符串。同样,如果不想要前缀可以使用切片操作去掉。 ```python >>> oct(10)[2:] '12' ``` 3. 十进制十六进制十进制数字转换十六进制数字,可以使用 Python 内置函数 hex()。hex() 函数接受十进制数字作为参数,返回一个十六进制字符串。 例如,将十进制数 10 转换十六进制数: ```python >>> hex(10) '0xa' ``` 返回的结果是一个以 "0x"开头的十六进制字符串。同样,如果不想要前缀可以使用切片操作去掉。 ```python >>> hex(10)[2:] 'a' ``` 总结 Python 提供了很多内置函数来进行数制的转换操作,其 bin()、oct() 和 hex() 函数可以用于将十进制数字转换二进制八进制十六进制数字。欲去掉转换后的前缀,可以使用切片操作去掉。这些函数在实际编程过程非常有用,方便快捷。 ### 回答3: Python作为一种高级语言,其提供的内置函数和库使得数值进制之间转换非常方便。在Python,我们可以使用bin()、oct()和hex()这三个内置函数来进行十进制二进制八进制十六进制之间转换。 1. 十进制二进制: 使用bin()函数可以将十进制转换二进制数,函数的返回值是一个字符串类型的二进制数。 具体使用方法如下: ``` x = 10 # 将十进制数10转为二进制bin_x = bin(x) # 输出结果为:0b1010 print(bin_x) ``` 2. 十进制八进制: 使用oct()函数可以将十进制转换八进制数,函数的返回值是一个字符串类型的八进制数。 具体使用方法如下: ``` x = 10 # 将十进制数10转为八进制oct_x = oct(x) # 输出结果为:0o12 print(oct_x) ``` 3. 十进制十六进制: 使用hex()函数可以将十进制转换十六进制数,函数的返回值是一个字符串类型的十六进制数。 具体使用方法如下: ``` x = 10 # 将十进制数10转为十六进制hex_x = hex(x) # 输出结果为:0xa print(hex_x) ``` 总之,Python的内置函数和库极大地方便了数值进制之间转换,让我们的代码编写更加高效和便捷。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值