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获取本地计算机名字的方法
Apr 29 Python
简单解决Python文件中文编码问题
Nov 22 Python
Python实现自动登录百度空间的方法
Jun 10 Python
图解Python变量与赋值
Apr 03 Python
Python实现按当前日期(年、月、日)创建多级目录的方法
Apr 26 Python
Django中日期处理注意事项与自定义时间格式转换详解
Aug 06 Python
如何使用Python实现斐波那契数列
Jul 02 Python
Django工程的分层结构详解
Jul 18 Python
pytorch获取vgg16-feature层输出的例子
Aug 20 Python
django美化后台django-suit的安装配置操作
Jul 12 Python
python归并排序算法过程实例讲解
Nov 04 Python
python如何调用php文件中的函数详解
Dec 29 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
一个ubbcode的函数,速度很快.
2006/10/09 PHP
PHP判断搜索引擎蜘蛛并自动记忆到文件的代码
2012/02/04 PHP
54个提高PHP程序运行效率的方法
2015/07/19 PHP
php实现将Session写入数据库
2015/07/26 PHP
yii2中结合gridview如何使用modal弹窗实例代码详解
2016/06/12 PHP
详解PHP数据压缩、加解密(pack, unpack)
2016/12/17 PHP
yii2利用自带UploadedFile实现上传图片的示例
2017/02/16 PHP
php+redis消息队列实现抢购功能
2018/02/08 PHP
Expandable &quot;Detail&quot; Table Rows
2007/08/29 Javascript
javascript 禁止复制网页
2009/06/11 Javascript
JavaScript与Image加载事件(onload)、加载状态(complete)
2011/02/14 Javascript
说说JSON和JSONP 也许你会豁然开朗
2012/09/02 Javascript
jquery带翻页动画的电子杂志代码分享
2015/08/21 Javascript
JavaScript版经典游戏之扫雷游戏完整示例【附demo源码下载】
2016/12/12 Javascript
vue做网页开场视频的实例代码
2017/10/20 Javascript
Vue中使用vee-validate表单验证的方法
2018/05/09 Javascript
vue2.0 自定义组件的方法(vue组件的封装)
2018/06/05 Javascript
js实现一个简易计算器
2020/03/30 Javascript
Nuxt的动态路由和参数校验操作
2020/11/09 Javascript
Python3遍历目录树实现方法
2015/05/22 Python
python与php实现分割文件代码
2017/03/06 Python
Python编程实现蚁群算法详解
2017/11/13 Python
django 利用Q对象与F对象进行查询的实现
2020/05/15 Python
python实现按日期归档文件
2021/01/30 Python
Answear匈牙利:来自全球200多个知名时尚品牌
2017/04/21 全球购物
英国最大的体育&时尚零售公司:JD Sports
2017/12/13 全球购物
数以千计的折扣工业产品:ESE Direct
2018/05/20 全球购物
什么是数组名
2012/05/10 面试题
软件工程专业推荐信
2013/10/28 职场文书
高中生毕业学习总结的自我评价
2013/11/14 职场文书
统计学专业毕业生的自我评价分享
2013/11/28 职场文书
总经理助理工作职责
2014/02/06 职场文书
个性车贴标语
2014/06/24 职场文书
党员自我评价范文2015
2015/03/03 职场文书
2019年房屋委托租赁合同范本(通用版)!
2019/07/17 职场文书
hive数据仓库新增字段方法
2022/06/25 数据库