python十进制转二进制的详解


Posted in Python onFebruary 07, 2020

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)

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

Python 相关文章推荐
Python ORM框架SQLAlchemy学习笔记之映射类使用实例和Session会话介绍
Jun 10 Python
python爬虫自动创建文件夹的功能
Aug 01 Python
10个Python小技巧你值得拥有
Sep 29 Python
关于Tensorflow分布式并行策略
Feb 03 Python
python实现连连看游戏
Feb 14 Python
Pandas将列表(List)转换为数据框(Dataframe)
Apr 24 Python
解决django 向mysql中写入中文字符出错的问题
May 18 Python
Python中关于logging模块的学习笔记
Jun 03 Python
keras做CNN的训练误差loss的下降操作
Jun 22 Python
Tensorflow中批量读取数据的案列分析及TFRecord文件的打包与读取
Jun 30 Python
Python3爬虫中关于Ajax分析方法的总结
Jul 10 Python
OpenCV-Python实现怀旧滤镜与连环画滤镜
Jun 09 Python
基于Tensorflow使用CPU而不用GPU问题的解决
Feb 07 #Python
python实现ip地址的包含关系判断
Feb 07 #Python
tensorflow:指定gpu 限制使用量百分比,设置最小使用量的实现
Feb 06 #Python
Tensorflow中tf.ConfigProto()的用法详解
Feb 06 #Python
Python continue语句实例用法
Feb 06 #Python
Tensorflow限制CPU个数实例
Feb 06 #Python
如何解决tensorflow恢复模型的特定值时出错
Feb 06 #Python
You might like
冰滴咖啡制作步骤
2021/03/03 冲泡冲煮
PHP制作登录异常ip检测功能的实例代码
2016/11/16 PHP
终于解决了IE8不支持数组的indexOf方法
2013/04/03 Javascript
在JavaScript中判断整型的N种方法示例介绍
2014/06/18 Javascript
深入解读JavaScript中的Iterator和for-of循环
2015/07/28 Javascript
利用jQuery中的ajax分页实现代码
2016/02/25 Javascript
利用jQuery插件imgAreaSelect实现图片上传裁剪(同步显示图像位置信息)
2016/12/02 Javascript
AngularJS路由切换实现方法分析
2017/03/17 Javascript
angular ng-click防止重复提交实例
2017/06/16 Javascript
纯JS实现简单的日历
2017/06/26 Javascript
产制造追溯系统之通过微信小程序实现移动端报表平台
2019/06/03 Javascript
vue.js实现备忘录demo
2019/06/26 Javascript
JS中FormData类实现文件上传
2020/03/27 Javascript
JavaScript中的执行环境和作用域链
2020/09/04 Javascript
[04:17]DOTA2完美盛典,rOtk、BurNIng携手巴图演唱《倔强》
2017/11/28 DOTA
[53:52]EG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python提示[Errno 32]Broken pipe导致线程crash错误解决方法
2014/11/19 Python
Python中模拟enum枚举类型的5种方法分享
2014/11/22 Python
探究Python的Tornado框架对子域名和泛域名的支持
2015/05/02 Python
python探索之BaseHTTPServer-实现Web服务器介绍
2017/10/28 Python
Flask框架踩坑之ajax跨域请求实现
2019/02/22 Python
python tkinter实现屏保程序
2019/07/30 Python
Python利用多线程同步锁实现多窗口订票系统(推荐)
2019/12/22 Python
Python实现区域填充的示例代码
2021/02/03 Python
HTML5中的autofocus(自动聚焦)属性介绍
2014/04/23 HTML / CSS
哥伦比亚最大的网上商店:Linio哥伦比亚
2016/09/25 全球购物
SEPHORA新西兰官方网站:购买化妆品和护肤品
2016/12/02 全球购物
台湾最大银发乐活百货:乐龄网
2018/05/21 全球购物
Europcar西班牙:全球汽车租赁领域的领导者
2018/09/17 全球购物
保加利亚服装和鞋类购物网站:Bibloo.bg
2020/11/08 全球购物
幼儿园保育员辞职信
2014/01/12 职场文书
市场营销管理制度
2014/01/29 职场文书
超市活动计划书
2014/04/24 职场文书
公务员政审单位鉴定材料
2014/05/16 职场文书
如何在Python中创建二叉树
2021/03/30 Python
postgreSQL数据库基础知识介绍
2022/04/12 PostgreSQL