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中关于时间和日期函数的常用计算总结(time和datatime)
Mar 08 Python
python获取本机外网ip的方法
Apr 15 Python
Python实现将数据框数据写入mongodb及mysql数据库的方法
Apr 02 Python
pandas将numpy数组写入到csv的实例
Jul 04 Python
python 正则表达式贪婪模式与非贪婪模式原理、用法实例分析
Oct 14 Python
Python中itertools的用法详解
Feb 07 Python
python实现随机加减法生成器
Feb 24 Python
Python 解析xml文件的示例
Sep 29 Python
Python的信号库Blinker用法详解
Dec 31 Python
python openpyxl模块的使用详解
Feb 25 Python
Python Django ORM连表正反操作技巧
Jun 13 Python
Opencv实现二维直方图的计算及绘制
Jul 21 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
地球防卫队:陪着奥特曼打小怪兽的人类力量 那些经典队服
2020/03/08 日漫
PHP自定session保存路径及删除、注销与写入的方法
2014/11/18 PHP
php简单判断两个字符串是否相等的方法
2015/07/13 PHP
PHP YII框架开发小技巧之模型(models)中rules自定义验证规则
2015/11/16 PHP
学习php设计模式 php实现命令模式(command)
2015/12/08 PHP
PHPCrawl爬虫库实现抓取酷狗歌单的方法示例
2017/12/21 PHP
JS获取scrollHeight问题想到的标准问题
2007/05/27 Javascript
javascript URL锚点取值方法
2009/02/25 Javascript
jQuery入门第一课 jQuery选择符
2010/03/14 Javascript
js浮点数精确计算(加、减、乘、除)
2013/12/26 Javascript
详解JavaScript语法对{}处理的坑爹之处
2014/06/05 Javascript
iPhone手机上搭建nodejs服务器步骤方法
2015/07/06 NodeJs
详解jQuery中的元素的属性和相关操作
2015/08/14 Javascript
json传值以及ajax接收详解
2016/05/24 Javascript
js将json格式的对象拼接成复杂的url参数方法
2016/05/25 Javascript
jQuery插件Easyui设置datagrid的pageNumber导致两次请求问题的解决方法
2016/08/06 Javascript
JavaScript实现同一个页面打开多张图片
2016/12/29 Javascript
详解vue-cil和webpack中本地静态图片的路径问题解决方案
2017/09/27 Javascript
JS随机数产生代码分享
2018/02/24 Javascript
setTimeout时间设置为0详细解析
2018/03/13 Javascript
简单明了区分escape、encodeURI和encodeURIComponent
2018/05/26 Javascript
微信小程序form表单组件示例代码
2018/07/15 Javascript
浅谈Vue3.0之前你必须知道的TypeScript实战技巧
2019/09/11 Javascript
Python程序设计入门(3)数组的使用
2014/06/16 Python
Python打包文件夹的方法小结(zip,tar,tar.gz等)
2016/09/18 Python
详解安装mitmproxy以及遇到的坑和简单用法
2019/01/21 Python
HTML5计时器小例子
2013/10/15 HTML / CSS
美国家喻户晓的保健品品牌:Vitamin World(维他命世界)
2016/08/19 全球购物
英国天然抗衰老护肤品品牌:Nakin Skin Care
2019/04/16 全球购物
计算机专业个人求职自荐信
2013/09/21 职场文书
新领导上任欢迎词
2014/01/13 职场文书
《和我们一样享受春天》教学反思
2014/02/07 职场文书
班干部演讲稿
2014/04/24 职场文书
2014年党务工作总结
2014/11/25 职场文书
2014幼儿园班主任工作总结
2014/12/04 职场文书
上下班时间调整通知
2015/04/23 职场文书