python进制转换代码_python十六进制转换成十进制
大家好,又见面了,我是你们的朋友全栈君。
本文实例讲述了Python实现的十进制小数与二进制小数相互转换功能。分享给大家供大家参考,具体如下:
十进制小数 ⇒ 二进制小数
乘2取整
对十进制小数乘2得到的整数部分和小数部分,
整数部分即是相应的二进制数码,
再用2乘小数部分(之前乘后得到新的小数部分),又得到整数和小数部分。
如此不断重复,直到小数部分为0或达到精度要求为止.
第一次所得到为最高位,最后一次得到为最低位
如:
0.25的二进制
0.25*2=0.5 取整是0
0.5*2=1.0 取整是1
即0.25的二进制为 0.01 ( 第一次所得到为最高位,最后一次得到为最低位)
0.8125的二进制
0.8125*2=1.625 取整是1
0.625*2=1.25 取整是1
0.25*2=0.5 取整是0
0.5*2=1.0 取整是1
即0.8125的二进制是0.1101(第一次所得到为最高位,最后一次得到为最低位)
def dec2bin(x):
x -= int(x)
bins = []
while x:
x *= 2
bins.append(1 if x>=1. else 0)
x -= int(x)
return bins
print(dec2bin(.8125))
# [1, 1, 0, 1]
二进制小数 ⇒ 十进制小数
小数点后,从左向右,每位分别表示
def bin2dec(b):
d = 0
for i, x in enumerate(b):
d += 2**(-i-1)*x
return d
print(dec2bin(0.8125))
# [1, 1, 0, 1]
print(bin2dec(dec2bin(0.8125)))
# 0.8125
PS:这里再为大家推荐几款计算与转换工具供大家参考使用:
在线任意进制转换工具:http://tools.jb51.net/transcoding/hexconvert
科学计算器在线使用_高级计算器在线计算:http://tools.jb51.net/jisuanqi/jsqkexue
在线计算器_标准计算器:http://tools.jb51.net/jisuanqi/jsq
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/193170.html原文链接:https://javaforall.cn
相关文章
- 分享一个简单的 Python 脚本库:将 requests 代码转换成 curl 命令
- 设置pycharm背景颜色_python设置背景颜色
- python+pycharm安装_pycharm安装教程2020
- python源码之家_python画图代码大全
- python中numpy库的作用_python random库
- Python基础07-函数
- Python 打开文件对话框「建议收藏」
- pycharm无法使用第三方库_python第三方库安装失败
- python安装numpy后pycharm导入不了_python的numpy库
- 干货 | OpenCV获取不规则区域的最大内切圆(附Python / C++ 源码)
- PyAOS:大气和海洋科学Python社区
- dataframe loc iloc_python的isnull函数
- [Python] 使用print作进度条(解决end=''时print不显示的问题)
- python安装dlib库_pycharm安装dlib失败
- pycharm怎么安装python_pycharm环境配置教程
- Python中的语法糖甜不甜?
- 简单的Python脚本,实现ssh登录配置路由器
- pycharm opencv安装_pycharm自带python
- pycharm配置pyqt5_python pyqt5教程
- pycharm换行继续输入_python粘贴代码自动换行