python十进制小数转二进制_python十进制和二进制的转换方法(含浮点数)
本文介绍了python十进制和二进制的转换方法(含浮点数),分享给大家,也给自己留个笔记,具体如下:
我终于写完了 , 十进制转二进制的小数部分卡了我将近一个小时
上代码
#-*- 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十进制和二进制的转换方法(含浮点数)相关推荐
- [转载] python怎么将十进制转换为二进制_python十进制和二进制的转换方法(含浮点数)
参考链接: Python中的十进制函数 1 本文介绍了python十进制和二进制的转换方法(含浮点数),分享给大家,也给自己留个笔记,具体如下: 我终于写完了 , 十进制转二进制的小数部分卡了我将近一 ...
- python十进制小数转二进制_python十进制和二进制的转换 (含浮点数)
1 #-*- coding: utf-8 2 from decimal importDecimal3 def bTod(n, pre=4):4 ''' 5 把一个带小数的二进制数n转换成十进制6 小数 ...
- python语言十进制转二进制_python十进制转二进制的详解
python十进制转二进制 python中十进制转二进制使用 bin() 函数. bin() 返回一个整数 int 或者长整数 long int 的二进制表示. 下面是使用示例: >>&g ...
- java中各进制之间的转换(十进制转十六进制、十进制转二进制、二进制转十进制、二进制转十六进制)...
在java编辑中有没有遇到经常需要进行java中各进制之间的转换(十进制转十六进制.十进制转二进制.二进制转十进制.二进制转十六进制)的事情呢?下面我们就来分析一下各自是怎么转换的: [java] / ...
- python十进制转二进制循环_python十进制转二进制的详解
python十进制转二进制 python中十进制转二进制使用 bin() 函数. bin() 返回一个整数 int 或者长整数 long int 的二进制表示. 下面是使用示例: >>&g ...
- 用位运算将十进制转为二进制python_python 十进制与二进制以及位运算
在python2.6以上的版本中自带了将十进制转化为二进制的函数bin(). 看一下bin.__doc__怎么说的. >>>print bin.__doc__ bin(number) ...
- c++二进制转十进制_二进制,八进制,十进制,十六进制转换详解~
点 击 上 方 蓝 字 关 注 我 们 哦 ^-^ 本文思维导图: 1.数制:用一组固定的数字和一套统一的规则来表示数目的方法称为数制. 进位计数制的要素: ①.数码:用来表示进制数的元素. 二进制: ...
- python十进制小数转二进制小数_python将小数转化为二进制_Python实现的十进制小数与二进制小数相互转换功能...
本文实例讲述了Python实现的十进制小数与二进制小数相互转换功能.分享给大家供大家参考,具体如下: 十进制小数 ⇒ 二进制小数 乘2取整 对十进制小数乘2得到的整数部分和小数部分, 整数部分即是相应 ...
- python八进制转二进制_python中的二进制十六进制和八进制
python八进制转二进制 Python is known for being powerful and easy to use when it comes to math. Both its nat ...
最新文章
- 互联网广告综述之点击率特征工程
- 《探索需求》阅读笔记1
- 视频编解码,bbv 缓冲区的上溢和下溢
- 微服务治理实践:如何对单点异常进行自动摘除
- 认识和学习orchestrator之基本使用篇
- 主板找不到SSD解决一例
- Git XP 安装图解
- 仙侣情缘之麒麟劫java_《仙侣情缘之麒麟劫》详细流程攻略[多图]
- Tomcat做成系统服务
- Android N开发 你需要知道的一切
- 正则表达式的用法和常用正则表达式大全(转)
- LineRenderer组件
- 屏幕的背光是什么呢?
- 关于RDP协议的分析(一)
- 开源企业软件采购指南
- Linux - top命令详解
- 35 行代码实现一个简单的 shell
- 微信小程序wx.getUserProfile接口的使用
- ORACLE等待事件:read by other session
- linux 进程 锁定cpu,如何限制Linux中任何进程的CPU使用情况 | MOS86
热门文章
- python tk 当输入数值错误是报错_Python的异常处理
- python怎么引用已经输入的信息_如何将用户输入存储在python中,然后调用它?
- c++ fork 进程时 共享内存_linux共享内存mmap
- python网站开发实例视频_Python实战-让在职教育类网站的视频全自动播放
- 2021-9-下旬 数据结构-线性表- 栈 -java代码实现(复习用)
- 一天搞定HTML----标签类型与类型转换05
- oracle 错误: ORA-12899:始终提示字段太大
- nivicat复制mysql数据库[Err] [Dtf] 1273 - Unknown collation: 'utf8mb4_0900_ai_ci'错误
- 操蛋的linux改mysql密码(1054和1819错误)
- Spring 整合Struts2