当前位置: 首页 > 后端技术 > Python

二进制与十进制的相互转换

时间:2023-03-25 20:07:08 Python

说到十进制与二进制的相互转换,以前学过,但是好久没用了,感觉忘记了方法。希望在做完这篇笔记后,能牢记十进制转二进制分为整数转二进制和十进制转二进制。整数转二进制使用“将余数除以2,倒序排列”的方法:1.先将1除以2的十进制整数,得到商和余数2.再将得到的商除以2,得到商和余数3.重复运算,直到商小于1。4.然后把得到的余数全部排列,然后倒过来(倒序排列),记得倒过来!假设我们现在需要把42转成二进制,我们是怎么做的,如下图所示:小数转二进制使用“乘以2取整,并排序”的方法:1.将十进制小数乘以2得到乘积,并将乘积从乘积的整数部分取出2,然后将剩余的小数部分乘以2得到另一个乘积,再从3取出乘积的整数部分。重复运算直到乘积中小数部分为零,此时0或1为二进制最后一位,或直到达到要求的精度。例如0.125转二进制:0.125*2=0.25------00.25*2=0.5------00.5*2=1.0------1当小数部分为0时,你可以停止乘以2,然后正序排序构成二进制小数部分:0.001如果小数的整数部分有大于0的整数,则先将整数部分和小数部分分别转为二进制,再把它们放在一起再举个例子:假设你想把8.125转成二进制,现在把8转成二进制:得到1000,再把0.125转成二进制:得到0.001,然后组合成1000.001二进制转十进制二进制转十进制应该从右边向左,将二进制中的每个数乘以相应的2的次方,小数点后从左到右。如果第一位为0,则表示为正整数。如果第一个数字是1,则表示负整数。正整数可以直接转换,负整数转换前需要取反。因为计算机内部表示数字的字节单位是定长的。比如8位、16位、32位。因此,当位数不够时,高位补零。如果要将二进制00101010转为十进制,因为它是从0开始的,所以这是一个正整数,计算如下:(02的0次方)+(12的1次方)+(02的二次方)+(12的三次方)+(02的四次方)+(12的五次方)+(02的六次方)+(02的七次方)=0+2+0+8+0+32+0+0=42如果要将11101011转为十进制,因为它以1开头,所以先取-00010100,然后计算10100对应的十进制为20,所以11101011对应的最后小数点是-20。