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操作mysql中文显示乱码的解决方法
Oct 11 Python
对python中大文件的导入与导出方法详解
Dec 28 Python
Python3 执行系统命令并获取实时回显功能
Jul 09 Python
Django如何实现网站注册用户邮箱验证功能
Aug 14 Python
利用python计算时间差(返回天数)
Sep 07 Python
详解python破解zip文件密码的方法
Jan 13 Python
Python 时间戳之获取整点凌晨时间戳的操作方法
Jan 28 Python
python实现替换word中的关键文字(使用通配符)
Feb 13 Python
Python类中self参数用法详解
Feb 13 Python
Python图片处理模块PIL操作方法(pillow)
Apr 07 Python
解决python Jupyter不能导入外部包问题
Apr 15 Python
Python+OpenCV图像处理—— 色彩空间转换
Oct 22 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版)
2012/08/21 PHP
基于Zend的Config机制的应用分析
2013/05/02 PHP
php unicode编码和字符串互转的方法
2020/08/12 PHP
PHP implode()函数用法讲解
2019/03/08 PHP
ThinkPHP5.0框架验证码功能实现方法【基于第三方扩展包】
2019/03/11 PHP
php简单计算权重的方法示例【适合抽奖类应用】
2019/06/10 PHP
JavaScript 弹出窗体点击按钮返回选择数据的实现
2010/04/01 Javascript
JS中如何设置readOnly的值
2013/12/25 Javascript
javascript轻量级库createjs使用Easel实现拖拽效果
2016/02/19 Javascript
JS获取屏幕高度的简单实现代码
2016/05/24 Javascript
jQuery简单设置文本框回车事件的方法
2016/08/01 Javascript
原生Javascript插件开发实践
2017/01/09 Javascript
jQuery插件echarts实现的多柱子柱状图效果示例【附demo源码下载】
2017/03/04 Javascript
利用Mongoose让JSON数据直接插入或更新到MongoDB
2017/05/03 Javascript
js学习总结_基于数据类型检测的四种方式(必看)
2017/07/04 Javascript
JavaScript中递归实现的方法及其区别
2017/09/12 Javascript
JS复杂判断的更优雅写法代码详解
2018/11/07 Javascript
jQuery 淡入/淡出效果函数用法分析
2020/05/19 jQuery
[03:05]DOTA2英雄基础教程 嗜血狂魔
2013/12/10 DOTA
Python中使用logging模块代替print(logging简明指南)
2014/07/09 Python
详解Python编程中对Monkey Patch猴子补丁开发方式的运用
2016/05/27 Python
python框架django基础指南
2016/09/08 Python
浅谈pandas中shift和diff函数关系
2018/04/08 Python
python中copy()与deepcopy()的区别小结
2018/08/03 Python
python脚本执行CMD命令并返回结果的例子
2019/08/14 Python
python numpy存取文件的方式
2020/04/01 Python
python 实现单通道转3通道
2019/12/03 Python
Python中用xlwt制作表格实例讲解
2020/11/05 Python
李维斯法国官网:Levi’s法国
2019/07/13 全球购物
解释i节点在文件系统中的作用
2013/11/26 面试题
化学专业毕业生求职信
2014/07/28 职场文书
办公室个人总结
2015/02/28 职场文书
教师节老师寄语
2015/05/28 职场文书
python操作xlsx格式文件并读取
2021/06/02 Python
Python实现简繁体转换
2021/06/07 Python
Django REST framework 限流功能的使用
2021/06/24 Python