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.pswp.cn/diannao/96595.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/96595.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

合并工作表,忽略手动隐藏行超简单-Excel易用宝

同事小丽有一个工作簿,文件中有多个工作表,每个工作表中有多行数据,这些表格中数据是有手动隐藏行的,她想把这些表格的数据忽略隐藏行合并到一个工作表中,但是使劲浑身解数,各种折腾,都会把隐藏…

我从零开始学习C语言(14)- 基本类型 PART1

今天学习第7章-基本类型,主要内容如下:7.1 整数类型这里的整数的整数值就是数学意义上的整数。C语言支持两种本质上(存储形式)不同的数值类型:整数类型(简称整型)和浮点类型(简称浮点…

Flutter - UI布局

一、容器Widget1. ScaffoldScaffold 作为页面的脚手架,基础区域包含顶部导航栏 appBar、主体内容区 body、侧边抽屉 drawer、悬浮按钮 floatingActionButton、底部导航栏 bottomNavigationBar。Scaffold(appBar: AppBar( // 顶部导航栏title: Text(首页),),body: Ce…

UNIKGQA论文笔记

UNIKGQA: UNIFIED RETRIEVAL AND REASONING FOR SOLVING MULTI-HOP QUESTION ANSWERING OVER KNOWLEDGE GRAPH(ICLR 2023)Introduction知识图上的多跳问题回答(KGQA)的目的是在大规模知识图谱(KG)上找到自然语言问题中提到的主题实…

MySQL 8.0.17 “Too Many Connections” 排查指南

MySQL 8.0.17 “Too Many Connections” 排查与优化指南 在 MySQL 8.0.17 中,当出现“Too many connections”错误时,通常意味着数据库连接数已达上限。这不仅会影响应用性能,还可能导致连接池(如 Druid)无法获取新连接…

GEO优化服务:智能时代营销新赛道的中国引领者——全球行业格局与发展趋势观察

随着全球人工智能技术的迅猛发展,以GPT-5、Claude Opus以及我国的DeepSeek Divine、豆包等为代表的新一代生成式AI搜索引擎,正深刻改变着信息获取与商业决策模式。用户通过直接向AI提问获取整合答案的行为日益普遍,传统搜索引擎的流量入口地位…

全面解析主流AI模型:功能对比与应用推荐

全面解析主流AI模型:功能对比与应用推荐 在当前人工智能技术飞速发展的背景下,市面上涌现了多种具备不同能力的AI模型。本文将系统梳理主流模型的特性、对比其核心能力,并结合实际场景推荐高效、稳定的API服务(如https://api.aaa…

【Nacos知识】Nacos 作为注册中心的客户端配置详解

Nacos 作为注册中心的客户端配置详解Nacos 作为注册中心的客户端配置详解一、核心配置项全景图二、基础连接配置1. 服务端地址配置2. 命名空间配置3. 服务分组配置三、服务注册配置1. 服务元数据配置2. 网络位置配置3. 集群与权重配置四、健康检查配置1. 心跳参数配置2. 健康检…

TypeReference 泛型的使用场景及具体使用流程

简介 在 Java 中,泛型类型在运行时会被擦除。这意味着当我们使用泛型时,运行时无法直接获取到泛型的具体类型信息。例如,我们无法直接通过 Class 对象来获取一个泛型类型的类型参数。这在某些情况下可能会导致问题,特别是在我们需…

商超场景徘徊识别误报率↓79%!陌讯多模态时序融合算法落地优化

原创声明本文为原创技术解析文章,核心技术参数与架构设计引用自 “陌讯技术白皮书(2024 版)”,所有技术描述均经过重写转换,无复制官网文案行为,严禁未经授权转载。一、行业痛点:徘徊识别的场景…

KubeBlocks AI:AI时代的云原生数据库运维探索

KubeBlocks AI:AI时代的云原生数据库运维探索 REF Auto-detect-failure 架构Auto-bug-detect测试 引言 传统的自动化运维诊断主要依赖基于规则的方法——无论是Ansible Playbooks的预定义脚本,还是Kubernetes Operator的固化逻辑,这些方法…

如何编译botan加密库?

Botan加密库支持2.x版本和3.x版本,其中3.x版本需要支持C20。0、下载源码git clone https://github.com/randombit/botan.gitcd botan切换分支到2.19.5版本git checkout 2.19.51、Windows编译Botan加密库1.1 配置生成MakefileRelease模式python configure.py --ccmsv…

Linux问答题:分析和存储日志

目录 1. RHEL 日志文件保存在哪个目录中? 2.什么是 syslog 消息和非 syslog 消息? 3.哪两个服务处理 RHEL 中的 syslog 消息? 4. 列举常用的系统日志文件并说明其存储的消息类型。 5. 简单说下日志文件轮转的作用 6.systemd-journald 服…

chapter05_从spring.xml读取Bean

一、简化Bean的注册 如果每次注册一个Bean,都要像上节一样,手动写PropertyValues相关的代码,那太复杂了,我们希望读取XML文件,自动注册Bean,这样对于使用者,甚至不知道有BeanDefinition的存在 二…

【数位DP】D. From 1 to Infinity

Problem - D - Codeforces 题目: 思路: 数位DP 数论 题目让我们求这个无限序列 123456789101112.... 的前 k 个数的数位和 题目看起来很不好求,事实上确实是这样的 我们可以先从简单问题开始 问题①. 求 k 位置对应着第几个数 那么显然…

gitlab、jenkins等应用集成ldap

gitlab、jenkins等应用集成ldap 文档 openldap安装 -添加条目gitlab、jenkins等应用集成ldap gitlab集成ldap gitlab版本:gitlab-jh-17.7.0 ldap版本:openldap-2.6.10 修改/etc/gitlab/gitlab.rb文件,编辑相关信息 gitlab_rails[ldap_en…

Unity中国小游戏行业沙龙:抖音小游戏平台分析与规划

目录 一、抖音小游戏市场全景分析 行业现状与发展趋势 行业发展关键议题 内容运营生态观察 二、平台技术架构与运营体系 用户复访与留存体系 技术支撑体系 三、平台激励与商业化政策 收益分成机制 资金服务升级 技术基础建设 四、生态合作与发展规划 开发者支持体系…

手机横屏适配方案

CSS自动旋转页面实战指南在移动端开发中,横屏适配是一个常见但棘手的问题。本文将深入解析一套完整的CSS横屏适配方案,让你的网页在手机旋转时自动调整布局,提供无缝的用户体验。一、横屏适配的重要性 随着移动设备使用场景的多样化&#xff…

蓝桥杯算法之基础知识(2)——Python赛道

1.循环里面套用递归,当递归执行return时,只会退出当前递归层2.不能一边遍历list 一边pop解决办法:倒序遍历解决或者创建新的列表去存储3.sqrt求出来的始终是小数形式,注意题目要求的结果有可能是整型你直接sqrt就提交,…

如何优雅解决 OpenCV 分段错误(Segfault):子进程隔离实战

在分布式数据平台(如 Databricks Spark)中跑视频处理任务时,你是否遇到过这种恶心的报错?Py4JJavaError: An error occurred while calling z:org.apache.spark.api.python.PythonRDD.collectAndServe. : org.apache.spark.Spark…