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中的CURL PycURL使用例子
Jun 01 Python
使用IronPython把Python脚本集成到.NET程序中的教程
Mar 31 Python
Python实现包含min函数的栈
Apr 29 Python
详解Python的collections模块中的deque双端队列结构
Jul 07 Python
Python基于回溯法子集树模板解决选排问题示例
Sep 07 Python
pandas中的数据去重处理的实现方法
Feb 10 Python
利用python中集合的唯一性实现去重
Feb 11 Python
用Python生成HTML表格的方法示例
Mar 06 Python
QML用PathView实现轮播图
Jun 03 Python
解决Keras使用GPU资源耗尽的问题
Jun 22 Python
Flask中sqlalchemy模块的实例用法
Aug 02 Python
python 如何在 Matplotlib 中绘制垂直线
Apr 02 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 Ajax实现页面无刷新发表评论
2007/01/02 PHP
完整删除ecshop中获取店铺信息的API
2014/12/24 PHP
Zend Framework动作助手Redirector用法实例详解
2016/03/05 PHP
Zend Framework教程之Zend_Config_Xml用法分析
2016/03/23 PHP
实现复选框全选/全不选切换
2006/12/23 Javascript
利用jquery操作select下拉列表框的代码
2010/06/04 Javascript
JavaScript中如何通过arguments对象实现对象的重载
2014/05/12 Javascript
jQuery Masonry瀑布流插件使用详解
2014/11/17 Javascript
NodeJS中Buffer模块详解
2015/01/07 NodeJs
详解javascript new的运行机制
2016/01/26 Javascript
javascript实现瀑布流动态加载图片原理
2016/08/12 Javascript
BootStrap tooltip提示框使用小结
2016/10/26 Javascript
JavaScript实现时间表动态效果
2017/07/15 Javascript
Vue底层实现原理总结
2018/02/17 Javascript
layer插件select选中默认值的方法
2018/08/14 Javascript
JavaScript Canvas实现验证码
2020/08/02 Javascript
jQuery使用bind动态绑定事件无效的处理方法
2018/12/11 jQuery
微信小程序学习笔记之跳转页面、传递参数获得数据操作图文详解
2019/03/28 Javascript
layui实现鼠标移动到单元格上显示数据的方法
2019/09/11 Javascript
JavaScript Reflect Metadata实现详解
2019/12/12 Javascript
解决vue-router 嵌套路由没反应的问题
2020/09/22 Javascript
[02:22]《新闻直播间》2017年08月14日
2017/08/15 DOTA
[01:02:38]DOTA2-DPC中国联赛定级赛 LBZS vs Phoenix BO3第二场 1月10日
2021/03/11 DOTA
python 获取本机ip地址的两个方法
2013/02/25 Python
python正常时间和unix时间戳相互转换的方法
2015/04/23 Python
安装dbus-python的简要教程
2015/05/05 Python
详解Python的Django框架中的模版相关知识
2015/07/15 Python
领导的自我鉴定
2013/12/28 职场文书
面试后感谢信
2014/02/01 职场文书
平安建设工作方案
2014/06/02 职场文书
死亡证明书样本说明
2014/10/18 职场文书
给老婆的检讨书
2015/01/27 职场文书
汽车质检员岗位职责
2015/04/08 职场文书
二审代理词范文
2015/05/25 职场文书
微信小程序实现录音Record功能
2021/05/09 Javascript
Win11自动黑屏怎么办 Win11自动黑屏设置教程
2022/07/15 数码科技