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字符串连接的N种方式总结
Sep 17 Python
python输出指定月份日历的方法
Apr 23 Python
Python的迭代器和生成器
Jul 29 Python
Python3调用微信企业号API发送文本消息代码示例
Nov 10 Python
OpenCV2从摄像头获取帧并写入视频文件的方法
Aug 03 Python
Python中利用aiohttp制作异步爬虫及简单应用
Nov 29 Python
Python3远程监控程序的实现方法
Jul 15 Python
pandas的排序和排名的具体使用
Jul 31 Python
Django 1.10以上版本 url 配置注意事项详解
Aug 05 Python
python cv2.resize函数high和width注意事项说明
Jul 05 Python
Python 如何实现数据库表结构同步
Sep 29 Python
python在linux环境下安装skimage的示例代码
Oct 14 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
jQuery+PHP+ajax实现微博加载更多内容列表功能
2014/06/27 PHP
laravel5创建service provider和facade的方法详解
2016/07/26 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
2020/04/04 PHP
js或jquery实现页面打印可局部打印
2014/03/27 Javascript
jquery插件EasyUI中form表单提交实例分享
2016/01/11 Javascript
js实现分割上传大文件
2016/03/09 Javascript
js验证框架之RealyEasy验证详解
2016/06/08 Javascript
详解React Native 采用Fetch方式发送跨域POST请求
2017/11/15 Javascript
jQuery实现右侧抽屉式在线客服功能
2017/12/25 jQuery
Node.js 使用jade模板引擎的示例
2018/05/11 Javascript
JS/HTML5游戏常用算法之碰撞检测 像素检测算法实例详解
2018/12/12 Javascript
详解vue的数据劫持以及操作数组的坑
2019/04/18 Javascript
构建Vue大型应用的10个最佳实践(小结)
2019/11/07 Javascript
微信小程序跨页面数据传递事件响应实现过程解析
2019/12/19 Javascript
微信分享invalid signature签名错误踩过的坑
2020/04/11 Javascript
vue基础知识--axios合并请求和slot
2020/06/04 Javascript
详解Vue中的watch和computed
2020/11/09 Javascript
vue下拉刷新组件的开发及slot的使用详解
2020/12/23 Vue.js
Python基础入门之seed()方法的使用
2015/05/15 Python
python操作MySQL 模拟简单银行转账操作
2017/09/27 Python
python 3.6.2 安装配置方法图文教程
2018/09/18 Python
python生成lmdb格式的文件实例
2018/11/08 Python
python钉钉机器人运维脚本监控实例
2019/02/20 Python
Python如何基于smtplib发不同格式的邮件
2019/12/30 Python
Jupyter notebook如何实现指定浏览器打开
2020/05/13 Python
Jmeter调用Python脚本实现参数互相传递的实现
2021/01/22 Python
HTML5之SVG 2D入门13—svg对决canvas及长处和适用场景分析
2013/01/30 HTML / CSS
英国最大的LED专业零售商:Led Hut
2018/03/16 全球购物
槐乡的孩子教学反思
2014/04/27 职场文书
工地安全生产标语
2014/06/06 职场文书
五月的鲜花活动方案
2014/08/21 职场文书
2014年学校领导班子对照检查材料
2014/09/19 职场文书
2014年干部作风建设总结
2014/10/23 职场文书
学校远程教育工作总结
2015/08/11 职场文书
python模拟浏览器 使用selenium进入好友QQ空间并留言
2022/04/12 Python
Flink 侧流输出源码示例解析
2022/09/23 Servers