当前位置: 首页 > news >正文

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_strn = n // 2return binary_str# 示例
n = 13
print(decimal_to_binary(n))  # 输出: 1101
说明
  • 通过不断除以 2 并取余数,将余数逆序拼接成二进制字符串。

总结

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

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

http://www.xdnf.cn/news/1349443.html

相关文章:

  • 【每天一个知识点】AIOps 与自动化管理
  • 使用隧道(Tunnel)连接PostgreSQL数据库(解决防火墙问题)(含Java实现代码)
  • AI实验管理神器:WandB全功能解析
  • 【文献阅读】Advances and Challenges in Large Model Compression: A Survey
  • `strncasecmp` 字符串比较函数
  • Unreal Engine IWYU Include What You Use
  • Vue 插槽(Slots)全解析2
  • ubuntu - 终端工具 KConsole安装
  • AI + 教育:个性化学习如何落地?教师角色转变与技术伦理的双重考验
  • SymPy 中抽象函数的推导与具体函数代入
  • Spring Ai 1.0.1中存在的问题:使用MessageChatMemoryAdvisor导致System未被正确的放在首位
  • c++最新进展
  • fdisk工具源码编译生成
  • DAY14-新世纪DL(DeepLearning/深度学习)战士:破(优化算法)2
  • 多线程下为什么用ConcurrentHashMap而不是HashMap
  • 【Android】 连接wifi时,强制应用使用流量
  • 【从零开始java学习|第九篇】方法的相关知识与练习
  • 【微服务的数据一致性分发问题】究极解决方案
  • 日志的配置
  • 一键部署openGauss6.0.2轻量版单节点
  • Spring原理
  • 最近 | 黄淮教务 | 小工具合集
  • 世界模型一种能够对现实世界环境进行仿真,并基于文本、图像、视频和运动等输入数据来生成视频、预测未来状态的生成式 AI 模型
  • Maxscript如何清理3dMax场景?
  • 打工人日报20250822
  • More Effective C++ 条款01:仔细区别 pointers 和 references
  • Java设计模式-外观模式
  • 滑动窗口+子串+普通数组算法
  • Elasticsearch搜索原理
  • HEVC(H.265)与HVC1的关系及区别