python进制转换代码_十进制转二进制编程

python进制转换代码_十进制转二进制编程这篇文章主要介绍了Python实现的十进制小数与二进制小数相互转换功能,结合具体实例形式详细分析了二进制与十进制相互转换的原理及Python相关实现技巧,需要的朋友可以参考下本文实例讲述了Python实现的十进制小数与二进制小数相互转换功能。分享给大家供大家参考,具体如下:十进制小数⇒二进制小数乘2取整对十进制小数乘2得到的整数部分和小数部分,整数部分即是相应的二进制数码,再用2乘小数部分(之…

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

Jetbrains全系列IDE稳定放心使用

这篇文章主要介绍了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]

二进制小数 ⇒ 十进制小数

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

3103390f7c270dd1e855fb0550495609-0.jpg

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

以上就是Python十进制小数和二进制小数相互转换的实现方式的详细内容,更多请关注php中文网其它相关文章!

article_wechat2021.jpg?1111

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189861.html原文链接:https://javaforall.net

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


相关推荐

  • 基于java的小区物业管理系统_java做一个管理系统

    基于java的小区物业管理系统_java做一个管理系统本系统采用java和mysql数据库开发的BS架构系统,本系统分为业主和物业管理员两个角色,在用户子系统中,使用者通过账号密码(用户)登入系统,进入主页,通过主页链接,进入小区服务,小区公告,信息查询,系统功能四个功能模块,在模块内可以完成报修,查看公告,查询房产相关信息,修改密码,退出系统等功能。在管理员子系统中,使用者通过帐号密码(管理员)登入系统,进入主页,通过主页链接进入管理员信息管理,物业管理,报修管理,保卫绿化,公告管理,系统功能六个功能模块。…

    2022年10月10日
    2
  • Elastic:开发者上手指南

    Elastic:开发者上手指南您们好,我是Elastic的刘晓国。如果大家想开始学习Elastic的话,那么这里将是你理想的学习园地。在我的博客几乎涵盖了你想学习的许多方面。在这里,我来讲述一下作为一个菜鸟该如何阅读我的这些博客文章。我们可以按照如下的步骤来学习:1)Elasticsearch简介:对Elasticsearch做了一个简单的介绍2)Elasticsearch中的一些重要概念:cluster,n…

    2022年6月13日
    26
  • silverlight开发_net网站例子

    silverlight开发_net网站例子http://money.finance.sina.com.cn/silverlight/Sina财经Silverlight4.0版http://vip.stock.finance.sina.com.cn/silverpulsehttp://pjd.mscui.net/default.htmhttp://www.silverlight.net 学习网站:http:/

    2022年10月10日
    2
  • 3G标准中的TDD与FDD模式

    3G标准中的TDD与FDD模式2000年5月5日,在土耳其举行的ITU-R全会上,通过了包括中国提案在内的五种无线传输技术的规范,渲腥只贑DMA技术,两种基于TDMA技术。  (1)基于CDMA的技术规范  IMT-2000CDMADS(WCDMA、cdma2000DS)IMT-2000CDMATDD(TD-SCDMA、TD-CDMA)  (2)基于TDMA技术的技术规范  IMT-2000CDMASC(u

    2022年5月11日
    42
  • js获取request中的值_set协议工作原理

    js获取request中的值_set协议工作原理设置http请求头HttpURLConnection.setRequestProperty(Stringkey,Stringvalue); 这个我居然都忘记了,哎~真是岁数大了,心好累。。。 例如:下面就是一个完整的原始网络请求方式HttpURLConnectionconn=null;try{…

    2025年10月23日
    2
  • Java是一种什么语言[通俗易懂]

    Java是一种什么语言[通俗易懂]Java是一种计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。Java编程语言的风格十分接近C++语言。继承了C++语言面向对象技术的核心,Java舍弃了C++语言中容易引起错误的指針,改以引用取代,同时移除原C++与原来运算符重载,也移除多重继承特性,改用接口取代,增加垃圾回收器功能。在JavaSE1.5版本中引入了泛型编程、类

    2022年7月7日
    27

发表回复

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

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