两种python 十进制转二进制算法函数哪种更好

一个0一个1,根据(1&1=11&0=0,0&0=00&1=0)可知百位应該是1,同样十位上的数字1&0=0,个位上的数字1&1=1,因此最后的结果是1.(这之后本来应该还有一步,因为我们现在得到的数值只是所求答案的补码,但是因为正數的补码即是它本身,所以就省略了。不过,下面的例子就不能省略最后这一步了).   
解法:-1的补码是,  -2的补码是111111&得到的结果是:,这个是补码,再转化位原碼为 (负数转换位原码的方法是减一取反),最后转换为十进制是 -2.
解法:-2的补码是,  6的补码是110,   &110,也就是&(这样写的目的是让初学者能够更好理解按位运算),按照上面的方法得到的结果是:110,转化位十进制就是6.
小技巧:利用按位与可以将任意二进制数的最后一位变为0,即就是X&0.

这是怎么算的呢其实是通过a和b的二进制算的。


  

与运算就是比较a和b的二进制如果位数都为1则算为1如果不想同或都为0则算为0。然后再把答案的二进制转为10进制

小技巧:利用按位并可以将任意二进制数的最后一位变为1,即就是X|1.

或运算正好与与运算相反,如果位数都不为0则算为1否则算为0。

异或操作是位数不想同则算为1否则算为0。

位移运算会把二进制数向左或向右移动如上就是向左移动了2个单位。

我要回帖

更多关于 十进制转二进制算法 的文章

 

随机推荐