补码知识忘完了
二进制中1的个数
http://www.nowcoder.com/questionTerminal/8ee967e43c2c4ec193b040ea7fbb10b8
难点还是怎么把负数转换成补码。
先求得负数的绝对值,然后求绝对值的二进制,然后将二进制取反,再加一就是补码了。
有方便编程的方法:
求得负数绝对值的二进制之后从低位往前数,遇到第一个1之后的所有位都取反即是补码。
然后就是进制转换的时候要用long去存int否则会出问题,而且转换成二进制也要补齐32位。貌似python有内置函数。