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使用MySQLdb for Python操作数据库教程
Oct 11 Python
Python基于pygame模块播放MP3的方法示例
Sep 30 Python
tensorflow使用神经网络实现mnist分类
Sep 08 Python
使用Python开发SQLite代理服务器的方法
Dec 07 Python
利用Python半自动化生成Nessus报告的方法
Mar 19 Python
Django如何防止定时任务并发浅析
May 14 Python
python Tkinter的图片刷新实例
Jun 14 Python
Python中zip()函数的简单用法举例
Sep 02 Python
pyecharts动态轨迹图的实现示例
Apr 17 Python
解决运行出现'dict' object has no attribute 'has_key'问题
Jul 15 Python
python获取本周、上周、本月、上月及本季的时间代码实例
Sep 08 Python
python基于openpyxl生成excel文件
Dec 23 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容易被忽略而出错陷阱 数字与字符串比较
2011/11/10 PHP
php创建基本身份认证站点的方法详解
2013/06/08 PHP
php多次include后导致全局变量global失效的解决方法
2015/02/28 PHP
php生成固定长度纯数字编码的方法
2015/07/09 PHP
漂亮的thinkphp 跳转页封装示例
2019/10/16 PHP
IE下Ajax缓存问题的快速解决方法(get方式)
2014/01/09 Javascript
javascript中for/in循环及使用技巧
2015/09/01 Javascript
JS实现选定指定HTML元素对象中指定文本内容功能示例
2017/02/13 Javascript
Layui数据表格跳转到指定页的实现方法
2019/09/05 Javascript
ES10的13个新特性示例(小结)
2019/09/23 Javascript
vue实现编辑器键盘抬起时内容跟随光标距顶位置向上滚动效果
2020/05/28 Javascript
关于element-ui表单中限制输入纯数字的解决方式
2020/09/08 Javascript
javascript实现电商放大镜效果
2020/11/23 Javascript
学习 Vue.js 遇到的那些坑
2021/02/02 Vue.js
Python OpenCV获取视频的方法
2018/02/28 Python
pip安装时ReadTimeoutError的解决方法
2018/06/12 Python
Anaconda2 5.2.0安装使用图文教程
2018/09/19 Python
python引入不同文件夹下的自定义模块方法
2018/10/27 Python
django+mysql的使用示例
2018/11/23 Python
python学生管理系统学习笔记
2019/03/19 Python
Python叠加两幅栅格图像的实现方法
2019/07/05 Python
python KNN算法实现鸢尾花数据集分类
2019/10/24 Python
Python接口自动化判断元素原理解析
2020/02/24 Python
基于HTML5超酷摄像头(HTML5 webcam)拍照功能实现代码
2012/12/13 HTML / CSS
英国奢侈品概念店:Base Blu
2019/05/16 全球购物
Java 中访问数据库的步骤?Statement 和PreparedStatement 之间的区别?
2012/06/05 面试题
三年级数学教学反思
2014/01/31 职场文书
岗位廉政承诺书
2014/03/27 职场文书
党员承诺书怎么写
2014/05/20 职场文书
医院领导班子四风问题对照检查材料
2014/10/26 职场文书
发展党员工作情况汇报
2014/10/28 职场文书
企业介绍信范文
2015/01/30 职场文书
会计专业自荐信范文
2015/03/05 职场文书
2016年学校党支部公开承诺书
2016/03/25 职场文书
2019年个人工作总结范文
2019/03/25 职场文书
两行代码解决Jupyter Notebook中文不能显示的问题
2021/04/24 Python