python二进制转十进制编程_python 二进制与十进制之间的转换

1、十进制 与 二进制之间的转换

(1)、十进制转换为二进制,分为整数部分和小数部分

整数部分

方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数。

这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数。下面举例:

例:将十进制的168转换为二进制

得出结果 将十进制的168转换为二进制,(10101000)2

168 / 2 = 84 -- 0

84 / 2 = 42 -- 0

42 / 2 = 21 -- 0

21 / 2 = 10 -- 1

10 / 2 = 5 -- 0

5 / 2 = 2 -- 1

2 / 2 = 1 -- 0

1 / 2 = 0 -- 1

二进制(从后往前读): 10101000

小数部分

方法:乘2取整法,即将小数部分乘以2,然后取整数部分,剩下的小数部分继续乘以2,然后取整数部分,

剩下的小数部分又乘以2,一直取到小数部分为零为止。如果永远不能为零,就同十进制数的四舍五入一样,

按照要求保留多少位小数时,就根据后面一位是0还是1,取舍,如果是零,舍掉,如果是1,向入一位。

换句话说就是0舍1入。读数要从前面的整数读到后面的整数

二进制转换为十进制 (不分整数和小数部分)

方法:按权相加法,即将二进制每位上的数乘以权,然后相加之和即是十进制数。

例:将二进制数101.101转换为十进制数。

得出结果:(101.101)2=(5.625)10

在做二进制转换成十进制需要注意的是

1)要知道二进制每位的权值

2)要能求出每位的值 101.101 转换为十进制

整数部分:2^2 + 2^0 = 5

小数部分:2^(-1) + 2^(-3) = 1/2 + 1/8 = 0.5 + 0.125 = 0.625

十进制: 2^2 + 2^0 + 2^(-1) + 2^(-3) = 5.625

本文首发于python黑洞网,博客园同步更新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值