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的轻便web框架Bottle
Apr 08 Python
详解Python中的多线程编程
Apr 09 Python
Python运行报错UnicodeDecodeError的解决方法
Jun 07 Python
解决python3 网络请求路径包含中文的问题
May 10 Python
Python机器学习库scikit-learn安装与基本使用教程
Jun 25 Python
Pandas 按索引合并数据集的方法
Nov 15 Python
Python3字符串encode与decode的讲解
Apr 02 Python
新手如何发布Python项目开源包过程详解
Jul 11 Python
在tensorflow中实现屏蔽输出的log信息
Feb 04 Python
python pillow库的基础使用教程
Jan 13 Python
Python使用paramiko连接远程服务器执行Shell命令的实现
Mar 04 Python
python基础详解之if循环语句
Apr 24 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面向对象编程之深入理解方法重载与方法覆盖(多态)
2015/12/24 PHP
浅谈PHP命令执行php文件需要注意的问题
2016/12/16 PHP
php文件操作之文件写入字符串、数组的方法分析
2019/04/15 PHP
Yii使用DbTarget实现日志功能的示例代码
2020/07/21 PHP
基于jQuery+HttpHandler实现图片裁剪效果代码(适用于论坛, SNS)
2011/09/02 Javascript
Textarea与懒惰渲染实现代码
2012/01/04 Javascript
基于JavaScript实现 获取鼠标点击位置坐标的方法
2013/04/12 Javascript
jQuery动画效果-slideUp slideDown上下滑动示例代码
2013/08/28 Javascript
JS高级调试技巧:捕获和分析 JavaScript Error详解
2014/03/16 Javascript
js获取浏览器基本信息大全
2014/11/27 Javascript
jQuery选择器源码解读(七):elementMatcher函数
2015/03/31 Javascript
JavaScript中switch语句的用法详解
2015/06/03 Javascript
jQuery EasyUI之DataGrid使用实例详解
2016/01/04 Javascript
js实现交通灯效果
2017/01/13 Javascript
nodejs使用redis作为缓存介质实现的封装缓存类示例
2018/02/07 NodeJs
vue项目部署到Apache服务器中遇到的问题解决
2018/08/24 Javascript
vue vant中picker组件的使用
2020/11/03 Javascript
[01:27]DOTA2电竞之夜 今夜共饮庆功酒
2014/08/02 DOTA
使用python加密自己的密码
2015/08/04 Python
Python中多个数组行合并及列合并的方法总结
2018/04/12 Python
python3 http提交json参数并获取返回值的方法
2018/12/19 Python
Python中的 is 和 == 以及字符串驻留机制详解
2019/06/28 Python
python各类经纬度转换的实例代码
2019/08/08 Python
Spring Cloud Feign高级应用实例详解
2019/12/10 Python
Python计算机视觉里的IOU计算实例
2020/01/17 Python
Pytorch 实现计算分类器准确率(总分类及子分类)
2020/01/18 Python
Python通过Schema实现数据验证方式
2020/11/12 Python
Django url 路由匹配过程详解
2021/01/22 Python
Sunglasses Shop瑞典:欧洲领先的太阳镜网上商店
2018/04/22 全球购物
医务工作者先进事迹材料
2014/01/26 职场文书
党员承诺书内容
2014/03/26 职场文书
父亲节活动策划方案
2014/08/24 职场文书
幼儿园教师自我评价
2015/03/04 职场文书
幼儿园中秋节活动总结
2015/03/23 职场文书
Vue OpenLayer 为地图绘制风场效果
2022/04/24 Vue.js
详解Python中的for循环
2022/04/30 Python