Python 中,将十进制整数转换为二进制

在 Python 中,将十进制整数转换为二进制有多种方法。以下是几种常见的方式:


1. 使用 bin() 函数

bin() 是 Python 内置函数,可以将十进制整数转换为二进制字符串。

语法
bin(n)
示例
n = 13
binary_str = bin(n)
print(binary_str)  # 输出: 0b1101
说明
  • bin() 返回的字符串以 0b 开头,表示这是一个二进制数。
  • 如果需要去掉 0b 前缀,可以使用切片操作:
    binary_str = bin(n)[2:]
    print(binary_str)  # 输出: 1101
    

2. 使用 format() 函数

format() 函数可以将整数格式化为二进制字符串。

语法
format(n, 'b')
示例
n = 13
binary_str = format(n, 'b')
print(binary_str)  # 输出: 1101
说明
  • format() 不会添加 0b 前缀,直接返回二进制字符串。
  • 如果需要固定位数,可以指定宽度。例如,format(n, '08b') 会将结果填充为 8 位:
    binary_str = format(n, '08b')
    print(binary_str)  # 输出: 00001101
    

3. 使用 f-string(Python 3.6+)

f-string 是一种简洁的字符串格式化方式,支持直接格式化二进制。

语法
f"{n:b}"
示例
n = 13
binary_str = f"{n:b}"
print(binary_str)  # 输出: 1101
说明
  • 类似于 format()f-string 也不会添加 0b 前缀。
  • 同样可以指定宽度,例如 f"{n:08b}"

4. 手动实现转换

如果你需要手动实现十进制到二进制的转换,可以使用除 2 取余法。

代码实现
def decimal_to_binary(n):
    if n == 0:
        return "0"
    binary_str = ""
    while n > 0:
        binary_str = str(n % 2) + binary_str
        n = n // 2
    return binary_str

# 示例
n = 13
print(decimal_to_binary(n))  # 输出: 1101
说明
  • 通过不断除以 2 并取余数,将余数逆序拼接成二进制字符串。

总结

  • 推荐方法:使用 bin()format()f-string,简单高效。
  • 手动实现:适合理解二进制转换的原理,但实际开发中无需重复造轮子。

根据需求选择合适的方法即可!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值