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 测试实现方法
Dec 24 Python
在Windows服务器下用Apache和mod_wsgi配置Python应用的教程
May 06 Python
Python3.X 线程中信号量的使用方法示例
Jul 24 Python
python itchat实现微信自动回复的示例代码
Aug 14 Python
python在文本开头插入一行的实例
May 02 Python
python读取word文档,插入mysql数据库的示例代码
Nov 07 Python
python整小时 整天时间戳获取算法示例
Feb 20 Python
使用 Python 玩转 GitHub 的贡献板(推荐)
Apr 04 Python
python之信息加密题目详解
Jun 26 Python
Python爬取豆瓣视频信息代码实例
Nov 16 Python
Python虚拟环境的创建和包下载过程分析
Jun 19 Python
如何在VSCode下使用Jupyter的教程详解
Jul 13 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 cli 方式 在crotab中运行解决
2010/02/08 PHP
在php7中MongoDB实现模糊查询的方法详解
2017/05/03 PHP
Yii Framework框架开发微信公众平台示例
2020/04/26 PHP
jQuery '行 4954 错误: 不支持该属性或方法' 的问题解决方法
2011/01/19 Javascript
初学js 新节点的创建 删除 的步骤
2011/07/04 Javascript
jquery中ajax学习笔记一
2011/10/16 Javascript
jquery下checked取值问题的解决方法
2012/08/09 Javascript
探讨jQuery的ajax使用场景(c#)
2013/12/03 Javascript
jQuery插件Skippr实现焦点图幻灯片特效
2015/04/12 Javascript
jQuery实现简易的天天爱消除小游戏
2015/10/16 Javascript
JavaScript DOM 学习总结(五)
2015/11/24 Javascript
浅析2种JavaScript继承方式
2015/12/04 Javascript
jquery对dom节点的操作【推荐】
2016/04/15 Javascript
js选择器全面解析
2016/06/27 Javascript
原生JS实现导航下拉菜单效果
2020/11/25 Javascript
在JS循环中使用async/await的方法
2018/10/12 Javascript
微信小程序全局变量的设置、使用、修改过程解析
2019/09/24 Javascript
javascript实现留言板功能
2020/02/08 Javascript
Python数据分析之真实IP请求Pandas详解
2016/11/18 Python
python中reader的next用法
2018/07/24 Python
Django如何自定义分页
2018/09/25 Python
Python玩转Excel的读写改实例
2019/02/22 Python
学python需要去培训机构吗
2020/07/01 Python
详解python中GPU版本的opencv常用方法介绍
2020/07/24 Python
基于Python实现简单学生管理系统
2020/07/24 Python
python Gabor滤波器讲解
2020/10/26 Python
两种CSS3伪类选择器详细介绍
2013/12/24 HTML / CSS
实例讲解CSS3中Transform的perspective属性的用法
2016/04/22 HTML / CSS
接口中的方法可以是abstract的吗
2015/07/23 面试题
专业实习自我鉴定
2013/10/29 职场文书
餐饮投资计划书
2014/04/25 职场文书
银行爱岗敬业演讲稿
2014/05/05 职场文书
2014年语文教学工作总结
2014/12/17 职场文书
水电工岗位职责
2015/02/14 职场文书
《珍珠鸟》教学反思
2016/02/16 职场文书
分析Java中Map的遍历性能问题
2021/06/26 Java/Android