描述
输入一个整数,输出该数32位二进制表示中1的个数。其中负数用补码表示。
示例1
输入:
10
返回值:
2
=========================================================================================================================
解题思路:
首先要知道怎么求一个十进制数的二进制形式,通过辗转相除的形式得到二进制。当然我们这道题不是求它的二进制,只是为了求二进制中1的个数,我们只用把它的余数不断相加就是二进制形式中1的个数。
然后考虑到负数的情况,用2的32次方加上这个负数这个整数的二进制形式就是相应的负数的二进制形式。