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变量作用范围实例分析
Jul 07 Python
举例讲解Python编程中对线程锁的使用
Jul 12 Python
Python开发的实用计算器完整实例
May 10 Python
关于Python的一些学习总结
May 25 Python
python-opencv获取二值图像轮廓及中心点坐标的代码
Aug 27 Python
python 单线程和异步协程工作方式解析
Sep 28 Python
浅谈Python3识别判断图片主要颜色并和颜色库进行对比的方法
Oct 25 Python
PyCharm上安装Package的实现(以pandas为例)
Sep 18 Python
python urllib和urllib3知识点总结
Feb 08 Python
利用Python判断你的密码难度等级
Jun 02 Python
python保存图片的四个常用方法
Feb 28 Python
JAVA SpringMVC实现自定义拦截器
Mar 16 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
PHP面向对象编程快速入门
2006/12/14 PHP
让PHP支持页面回退的两种方法
2008/01/10 PHP
关于Laravel参数验证的一些疑与惑
2019/11/19 PHP
用于table内容排序
2006/07/21 Javascript
基于jQuery的输入框无值自动显示指定数据的实现代码
2011/01/24 Javascript
js新闻滚动 js如何实现新闻滚动效果
2013/01/07 Javascript
JS实现具备延时功能的滑动门菜单效果
2015/09/17 Javascript
理解Javascript的call、apply
2015/12/16 Javascript
BootStrap智能表单实战系列(三)分块表单配置详解
2016/06/13 Javascript
jquery实用技巧之输入框提示语句
2016/07/28 Javascript
原生JS实现在线问卷调查投票特效
2017/01/03 Javascript
微信小程序实现签到功能
2018/10/31 Javascript
JS监听滚动和id自动定位滚动
2018/12/18 Javascript
在vue中使用G2图表的示例代码
2019/03/19 Javascript
js验证身份证号码记录的方法
2019/04/26 Javascript
Jquery动态列功能完整实例
2019/08/30 jQuery
js实现圆形菜单选择器
2020/12/03 Javascript
Python实现类继承实例
2014/07/04 Python
Python设计模式中单例模式的实现及在Tornado中的应用
2016/03/02 Python
TensorFlow 模型载入方法汇总(小结)
2018/06/19 Python
padas 生成excel 增加sheet表的实例
2018/12/11 Python
Python实时监控网站浏览记录实现过程详解
2020/07/14 Python
python和opencv构建运动检测器的实现
2021/03/03 Python
详解Html5 监听拦截Android返回键方法
2018/04/18 HTML / CSS
TripAdvisor西班牙官方网站:全球领先的旅游网站
2018/01/10 全球购物
英国老牌潮鞋店:Offspring
2019/08/19 全球购物
Yummie官方网站:塑身衣和衣柜必需品
2019/10/29 全球购物
俄罗斯药房连锁店:ASNA
2020/06/20 全球购物
市场营销职业生涯规划书范文
2014/01/12 职场文书
师德师风个人反思
2014/04/28 职场文书
音乐之声音乐广播稿
2014/09/10 职场文书
诉讼授权委托书范本
2014/10/05 职场文书
学校师德师风整改措施
2014/10/27 职场文书
2016秋季校长开学典礼致辞
2015/11/26 职场文书
离婚协议书范文2016
2016/03/18 职场文书
python实现简单的井字棋
2021/05/26 Python