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多线程编程方式分析示例详解
Dec 06 Python
python中黄金分割法实现方法
May 06 Python
Python中zfill()方法的使用教程
May 20 Python
Python制作数据导入导出工具
Jul 31 Python
python3 图片referer防盗链的实现方法
Mar 12 Python
pygame游戏之旅 如何制作游戏障碍
Nov 20 Python
python实现贪吃蛇游戏
Mar 21 Python
Python多线程处理实例详解【单进程/多进程】
Jan 30 Python
python生成带有表格的图片实例
Feb 03 Python
Python开发之Nginx+uWSGI+virtualenv多项目部署教程
May 13 Python
Ubuntu下Anaconda和Pycharm配置方法详解
Jun 14 Python
python异常触发及自定义异常类解析
Aug 06 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来检测proxy
2006/10/09 PHP
php 文件上传实例代码
2012/04/19 PHP
php的闭包(Closure)匿名函数详解
2015/02/22 PHP
PHP设计模式之工厂模式实例总结
2017/09/01 PHP
PHP实现动态获取函数参数的方法示例
2018/04/02 PHP
PHP 裁剪图片
2021/03/09 PHP
彪哥1.1(智能表格)提供下载
2006/09/07 Javascript
javascript编程起步(第五课)
2007/01/10 Javascript
How to Auto Include a Javascript File
2007/02/02 Javascript
不安全的常用的js写法
2009/09/15 Javascript
JS刷新框架外页面七种实现代码
2013/02/18 Javascript
jquery重新播放css动画所遇问题解决
2013/08/21 Javascript
从数组中随机取x条不重复数据的JS代码
2013/12/24 Javascript
原生javascript实现无间缝滚动示例
2014/01/28 Javascript
qq悬浮代码(兼容各个浏览器)
2014/01/29 Javascript
经过绑定元素时会多次触发mouseover和mouseout事件
2014/02/28 Javascript
超炫的jquery仿flash导航栏特效
2014/11/11 Javascript
jquery带翻页动画的电子杂志代码分享
2015/08/21 Javascript
javascript入门教程基础篇
2015/11/16 Javascript
js检测iframe是否加载完成的方法
2015/11/26 Javascript
jquery ui dialog替代confirm实例分析
2016/01/25 Javascript
JavaScript中的Reflect对象详解(ES6新特性)
2016/07/22 Javascript
Bootstrap模态对话框用法简单示例
2018/08/31 Javascript
Javascript实现一朵从含苞到绽放的玫瑰
2019/03/30 Javascript
vue开发中遇到的问题总结
2020/04/07 Javascript
Vue通过Blob对象实现导出Excel功能示例代码
2020/07/31 Javascript
Python学习笔记之os模块使用总结
2014/11/03 Python
Python SMTP发送电子邮件的示例
2020/09/23 Python
Python使用Turtle模块绘制国旗的方法示例
2021/02/28 Python
Get The Label中文官网:英国运动时尚购物平台
2017/04/19 全球购物
Alexandre Birman美国官网:亚历山大·伯曼
2019/10/30 全球购物
判断单链表中是否存在环
2012/07/16 面试题
敬老文明号事迹材料
2014/01/16 职场文书
村党建工作汇报材料
2014/11/02 职场文书
会议通知格式范文
2015/04/15 职场文书
java中用float时,数字后面加f,这样是为什么你知道吗
2021/09/04 Java/Android