python十进制转二进制循环_python十进制转二进制的详解

python十进制转二进制

python中十进制转二进制使用 bin() 函数。

bin() 返回一个整数 int 或者长整数 long int 的二进制表示。

下面是使用示例:

>>>bin(10)

'0b1010'

>>> bin(20)

'0b10100'

补充:十进制转8进制和16进制的方法:

# -*- coding: UTF-8 -*-

# 获取用户输入十进制数

dec = int(input("输入数字:"))

print("转换为八进制为:", oct(dec))

print("转换为十六进制为:", hex(dec))

内容扩展:

#-*- coding: utf-8

from decimal import Decimal

def bTod(n, pre=4):

'''

把一个带小数的二进制数n转换成十进制

小数点后面保留pre位小数

'''

string_number1 = str(n) #number1 表示二进制数,number2表示十进制数

decimal = 0 #小数部分化成二进制后的值

flag = False

for i in string_number1: #判断是否含小数部分

if i == '.':

flag = True

break

if flag: #若二进制数含有小数部分

string_integer, string_decimal = string_number1.split('.') #分离整数部分和小数部分

for i in range(len(string_decimal)):

decimal += 2**(-i-1)*int(string_decimal[i]) #小数部分化成二进制

number2 = int(str(int(string_integer, 2))) + decimal

return round(number2, pre)

else: #若二进制数只有整数部分

return int(string_number1, 2)#若只有整数部分 直接一行代码二进制转十进制 python还是骚

def dTob(n, pre=4):

'''

把一个带小数的十进制数n转换成二进制

小数点后面保留pre位小数

'''

string_number1 = str(n) #number1 表示十进制数,number2表示二进制数

flag = False

for i in string_number1: #判断是否含小数部分

if i == '.':

flag = True

break

if flag:

string_integer, string_decimal = string_number1.split('.') #分离整数部分和小数部分

integer = int(string_integer)

decimal = Decimal(str(n)) - integer

l1 = [0,1]

l2 = []

decimal_convert = ""

while True:

if integer == 0: break

x,y = divmod(integer, 2) #x为商,y为余数

l2.append(y)

integer = x

string_integer = ''.join([str(j) for j in l2[::-1]]) #整数部分转换成二进制

i = 0

while decimal != 0 and i < pre:

result = int(decimal * 2)

decimal = decimal * 2 - result

decimal_convert = decimal_convert + str(result)

i = i + 1

string_number2 = string_integer + '.' + decimal_convert

return float(string_number2)

else: #若十进制只有整数部分

l1 = [0,1]

l2 = []

while True:

if n == 0: break

x,y = divmod(n, 2) #x为商,y为余数

l2.append(y)

n = x

string_number = ''.join([str(j) for j in l2[::-1]])

return int(string_number)

以上就是本次介绍的全部相关知识点,感谢大家的学习和对我们的支持。

时间: 2020-02-06

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/505928.shtml

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

相关文章

计算机主机硬件图片,电脑主机内部有哪些硬件

电脑主机内部有哪些硬件电脑主机里的硬件都有哪些呢&#xff0c;你知道吗?下面将由小编带大家来解答这个疑问吧&#xff0c;希望对大家有所收获!从主机外部看硬件从外边看&#xff0c;主机就是一个扁扁方方的铁盒子&#xff0c;但很多朋友确没有真正了解过它内部到底是什么样子…

springboot profile_SpringBoot简单配置

使用Spring Boot&#xff0c;配置工作将会变得更加简单&#xff0c;我们只需要在application.properties中定义属性&#xff0c;然后在代码中直接使用Value注入即可。 如下&#xff1a;book.authorxxxbook.nameyyy book.pinyin测试这里专门设置了中文&#xff0c;因为中文不做特…

cc9.3 indesign_InDesign2018mac中文版_Adobe InDesign CC 2018 for mac官方版 - 17软件下载

Adobe InDesign CC 2018 Mac简体中文版&#xff0c;版本号&#xff1a;V13.1.0.76&#xff0c;软件采用了全新的启动界面&#xff0c;更新和改进众多功能。并且支持多国语言版本&#xff1a;中文&#xff0c;英文&#xff0c;韩文&#xff0c;日本等多国语言。安装方法&#xf…

大工14秋《计算机应用基础》在线测试2,2017大工《计算机应用基础》在线测试2答案.doc...

大工17秋《计算机应用基础》在线测试2答案?1: 单选题 (4分)在Excel 2010中,存储数据的表格被称为()。A: 文件B: 文件夹C: 工作表D: 图表2: 单选题 (4分)在Excel 2010中,图表是()。A: 用户通过“绘图”工具栏的工具绘制的特殊图形B: 由数据清单生成的用于形象表现数据的图形C: …

druid jar包_使用druid实现Spring boot配置文件中数据库密码密文存储

通常在编写代码的时候&#xff0c;数据库的用户名和密码以明文的方法写到配置文件中&#xff0c;系统运维为了保证一定的安全性&#xff0c;要求我们在配置文件中使用密文的方式存储&#xff0c;本文主要介绍使用druid实现数据库密码密文显示的方法。一、基本情况druid包中Conf…

嵌入式linux python移植过程_嵌入式linux项目开发(一)——BOA移植

嵌入式linux项目开发(一)——BOA移植项目目标&#xff1a;使用BOA、CGIC、SQLite搭建嵌入式web服务器一、嵌入式web服务器BOA简介在嵌入式设备的管理与交互中&#xff0c;基于Web方式的应用成为目前的主流&#xff0c;即在嵌入式设备上运行一个支持脚本或CGI功能的Web服务器&am…

html课做一个网页,菜鸟自学建站 HTML 第三课 制作我的第一个网页_html/css_WEB-ITnose...

上一课我们了解了Dreamweaver的工作界面&#xff0c;从这节课开始&#xff0c;我们由浅入深的开始学习网页的制作。首先打开Dreamweaver&#xff0c;制作网页首先要新建一个文档&#xff0c;就像我们写文稿需要一张纸一样。只有有了载体&#xff0c;你才能在上面进行创作&#…

k8s 手动恢复redis 集群_高工面试之:redis的几种集群方式你都熟悉吗?

Redis三种集群方式&#xff1a;主从复制、哨兵模式和Cluster模式一、主从复制模式Redis配置成主从模式&#xff0c;主库(Master)只负责客户端的写数据&#xff0c;从库(Slave)只负责客户端的读数据。主从数据复制过程如图所示&#xff1a;主从复制原理&#xff1a;slave redis连…

mock模拟接口测试 vue_Easy Mock以及Vue+Mock.js模拟数据

Easy Mock以及VueMock.js模拟数据一、Mock.js简介Mock.js是一个可以模拟后端数据&#xff0c;也可以模拟增删改查操作的js库基础语法规范数据模板中的每个属性由 3 部分构成&#xff1a;属性名、生成规则、属性值&#xff1a;name|rule: value语法规则说明name|min-max: string…

excel转html中文乱码,英文系统中Excel中文乱码问题

我是先用Gridview导出&#xff0c;然后再转换格式&#xff0c;部分代码如下StringWriter sw new StringWriter();HtmlTextWriter htw new HtmlTextWriter(sw);GV.RenderControl(htw);File.WriteAllText(path"temp", sw,System.Text.Encoding.UTF7);Excel.Applicati…

jsbridge原理_React Hooks 原理与最佳实践

1. 前言React Hooks 是 React 16.8 引入的新特性&#xff0c;允许我们在不使用 Class 的前提下使用 state 和其他特性。React Hooks 要解决的问题是状态共享&#xff0c;是继 render-props 和 higher-order components 之后的第三种状态逻辑复用方案&#xff0c;不会产生 JSX 嵌…

html小圆图堆叠轮播,每次移一张图片的无缝轮播图

my动画轮播图*{list-style: none;margin: 0px;padding: 0px;}.carousel{width: 530px;height: 280px;overflow: hidden;position: relative;}.carousel .imgList{width: 9999px;position: absolute;}.carousel .imgList>li{float: left;}.carousel .imgList>li>img{wi…

mfc绘制bezier b样条三种曲线_生存曲线(二):SPSS和Origin绘图教程及相关问题

上期生存分析推送后&#xff0c;有粉丝在后台问&#xff1a;有发生率的情况&#xff0c;为什么要做生存曲线分析&#xff1f;举个例子&#xff1a;临床试验中&#xff0c;共招募30位胃腺癌患者&#xff0c;均分为3组&#xff0c;分别使用了A/B/C三套不同的治疗方案&#xff0c;…

8位可控加减法电路设计_高级工程师:相同的地线GND,却有不同的电路设计含义...

问一个简单而又很难回答的电路问题&#xff1a;电路中的地线GND&#xff0c;它的本质是什么&#xff1f;工程师&#xff0c;在研发设计一个电路项目时&#xff0c;一般会经历三个阶段&#xff1a;电路项目PCBA板1&#xff0c;项目方案论证项目方案论证&#xff0c;是在项目前期…

word刷子刷格式_Excel技巧—开始菜单之格式刷六大功能

点赞再看&#xff0c;养成习惯千里之行&#xff0c;始于足下今天我们主要学习的是“第一区块-剪贴板”中的“格式刷”。“格式刷”主要将一个对象的颜色、字体样式、字体大小、边框样式等所有格式复制到目标对象上&#xff0c;我们可以把它理解为格式的复制粘贴。说到“格式刷”…

html/css题库,DIV+CSS题库

CD2、在CSS语言中下列哪一项是"左边框"的语法&#xff1f;(C )A、border-left-width:B、border-top-width:C、border-left:D、border-top-width:3. 选出你认为最合理的定义标题的方法( C )A. 文章标题B.文章标题C.文章标题D. 文章标题4、在CSS语言中下列哪一项的适用…

紫金计算机网络,南京理工大学紫金学院《计算机网络技术》考试复习试题试题(含答案解析)2...

一、选择题&#xff1a;(每题2分&#xff0c;共40分)1&#xff0e;在TCP/IP参考模型中&#xff0c;TCP协议工作在()。A、应用层B、传输层C、互联网层D、网络接口层2&#xff0e;下列()是合法的E-mail地址。A、mnetworkhttp://www.doczj.com/doc/fe7e6e475ebfc77da26925c52cc58b…

go语言和python结合_Go+Python双语言混合开发-第1章 【阶段一:Go语言基础】

1-1 GoPython双语言混合开发-课程导学 (11:35)1-2 课程资源获取方式 - 非常重要&#xff01;&#xff01;&#xff01; (06:07)1-3 课程中需要用到的开发环境介绍 (03:47)1-4 windows中安装centos7虚拟机 (19:16)1-5 xshell的安装和使用 (04:14)1-6 git的安装和配置 (06:22)1-7…

cwinthread*线程指针怎么销毁结束_最新版Web服务器项目详解 01 线程同步机制封装类...

点 击 关 注 上 方&#xff02;两猿社&#xff02;设 为&#xff02;置 顶 或 星 标&#xff02;&#xff0c;干 货 第 一 时 间 送 达。互 联 网 猿 | 两 猿 社基础知识RAIIRAII全称是“Resource Acquisition is Initialization”&#xff0c;直译过来是“资源获取即初始化”.…

您的计算机无法访问dota2,解决win7系统DOTA2无法连接至Steam网络的设置方法

随着电脑的使用率越来越高&#xff0c;我们有时候可能会遇到win7系统DOTA2无法连接至Steam网络问题&#xff0c;如果我们遇到了win7系统DOTA2无法连接至Steam网络的问题&#xff0c;要怎么处理win7系统DOTA2无法连接至Steam网络呢&#xff1f;接下来给大家带来win7系统DOTA2无法…