python进制转换代码_python十六进制转换成十进制

python进制转换代码_python十六进制转换成十进制本文实例讲述了Python实现的十进制小数与二进制小数相互转换功能。分享给大家供大家参考,具体如下:十进制小数⇒二进制小数乘2取整对十进制小数乘2得到的整数部分和小数部分,整数部分即是相应的二进制数码,再用2乘小数部分(之前乘后得到新的小数部分),又得到整数和小数部分。如此不断重复,直到小数部分为0或达到精度要求为止.第一次所得到为最高位,最后一次得到为最低位如:0.25的二进制0.25*2=…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

本文实例讲述了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]

二进制小数 ⇒ 十进制小数

小数点后,从左向右,每位分别表示

news_show_1183741.shtml

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.net/193170.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • # SpringCloud集成 报错 An attempt was made to call a method that does not exist. The attempt was made

    # SpringCloud集成 报错 An attempt was made to call a method that does not exist. The attempt was madeSpringCloud集成报错Anattemptwasmadetocallamethodthatdoesnotexist.Theattemptwasmadefromthefollowinglocation:详细报错结果如下:原因是SpringCloud和spring-boot-starter-parent的版本配置不搭配解决方法Greenwich2.1.x(可用2.1.4.RELEASE)Finchley2.0.x(可用2.0.5.RELEASE)

    2025年6月14日
    0
  • CoInitialize浅析一

    CoInitialize浅析一大家都知道程序中若要使用COM组件则必需要先调用CoInitialize,该函数主要是用来初始化COM执行环境。但这个函数的作用域是以线程为单位还是以进程为单位呢?或许大家已经通过測试程序摸索出答案,

    2022年7月3日
    21
  • 2021年pycharm激活码[最新免费获取]

    (2021年pycharm激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月30日
    270
  • java不求有功,但求无过—异常处理

    java不求有功,但求无过—异常处理

    2021年11月29日
    44
  • JVM调优工具「建议收藏」

    JVM调优工具「建议收藏」JVM调优工具Jconsole:jdk自带,功能简单,但是可以在系统有一定负荷的情况下使用。对垃圾回收算法有很详细的跟踪。JProfiler:商业软件,需要付费。功能强大。VisualVM:JDK自带,功能强大,与JProfiler类似。推荐。如何调优观察内存释放情况、集合类检查、对象树上面这些调优工具都提供了强大的功能,但是总的来说一般分为以下几类功能堆信息查…

    2022年6月1日
    26
  • Windows下载Android SDK[通俗易懂]

    Windows下载Android SDK[通俗易懂]压缩包的下载链接下载。。。下载完成后解压,现假设目录为D盘下Android_SDK文件夹中打开SDKManager.exe这里面出现的内容没必要全部下载,我们只需要下载一些必用的,然后随着需

    2022年7月1日
    20

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号