位运算

  • 利用位运算求数字的补数

    ·

    题目 给定一个正整数,输出它的补数。补数是对该数的二进制表示取反。 注意 1.给定的整数保证在32位带符号整数的范围内。2.假定二进制数不包含前导零位。 解题思路 求出一个与输入数字在二进制位的数量上相同,且每位都为1的数字,之后利用该数字和输入的数字做异或操作,即可得出补数。 例如 2的二进制为10,和他二进制位数相同,且全为1的十进制数为3,即二进制11。2与3做异或操作,得到二进制01,这也就是2的补数1。 代码

    Read More