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 相关文章推荐
scrapy自定义pipeline类实现将采集数据保存到mongodb的方法
Apr 16 Python
python递归查询菜单并转换成json实例
Mar 27 Python
python3.6+opencv3.4实现鼠标交互查看图片像素
Feb 26 Python
Flask之请求钩子的实现
Dec 23 Python
python获取点击的坐标画图形的方法
Jul 09 Python
Python 正则表达式 re.match/re.search/re.sub的使用解析
Jul 22 Python
python3中的eval和exec的区别与联系
Oct 10 Python
使用Django搭建一个基金模拟交易系统教程
Nov 18 Python
从零开始的TensorFlow+VScode开发环境搭建的步骤(图文)
Aug 31 Python
Python文件名匹配与文件复制的实现
Dec 11 Python
如何利用Matlab制作一款真正的拼图小游戏
May 11 Python
python编写五子棋游戏
May 25 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
MySQL修改密码方法总结
2008/03/25 PHP
用php或asp创建网页桌面快捷方式的代码
2010/03/23 PHP
linux下使用ThinkPHP需要注意大小写导致的问题
2011/08/02 PHP
一组PHP可逆加密解密算法实例代码
2014/01/21 PHP
php下载文件超时时间的设置方法
2016/10/06 PHP
PHP+AjaxForm异步带进度条上传文件实例代码
2017/08/14 PHP
获取非最后一列td值并将title设为该值的方法
2013/10/30 Javascript
jquery validate添加自定义验证规则(验证邮箱 邮政编码)
2013/12/04 Javascript
js中for in的用法示例解析
2013/12/25 Javascript
Jquery性能优化详解
2014/05/15 Javascript
原生JavaScript编写俄罗斯方块
2015/03/30 Javascript
javascript中scrollTop详解
2015/04/13 Javascript
jquery实现鼠标滑过后动态图片提示效果实例
2015/08/10 Javascript
JavaScript 监控微信浏览器且自带返回按钮时间
2016/11/27 Javascript
微信小程序 textarea 组件详解及简单实例
2017/01/10 Javascript
jQuery动态生成不规则表格(前后端)
2017/02/21 Javascript
echart简介_动力节点Java学院整理
2017/08/11 Javascript
vue mixins组件复用的几种方式(小结)
2017/09/06 Javascript
vue项目中应用ueditor自定义上传按钮功能
2018/04/27 Javascript
nodejs微信开发之接入指南
2019/03/17 NodeJs
js中的深浅拷贝问题简析
2019/05/10 Javascript
JS脚本实现定时到网站上签到/签退功能
2020/04/22 Javascript
[02:36]DOTA2英雄基础教程 帕格纳
2014/01/20 DOTA
python访问纯真IP数据库的代码
2011/05/19 Python
numpy.linspace函数具体使用详解
2019/05/27 Python
Python基于百度AI实现OCR文字识别
2020/04/02 Python
如何真正的了解python装饰器
2020/08/14 Python
澳大利亚女性快速时尚零售商:Ally Fashion
2018/04/25 全球购物
英国最大的在线时尚眼镜店:Eyewearbrands
2019/03/12 全球购物
物流合作计划书
2014/01/10 职场文书
公司总经理岗位职责
2014/03/15 职场文书
法定代表人证明书
2014/11/28 职场文书
2015年挂职锻炼个人总结
2015/10/22 职场文书
感谢信
2019/04/11 职场文书
python批量更改目录名/文件名的方法
2021/04/18 Python
python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)
2021/05/17 Python