基础知识 负数在计算机中是用补码来存储的,由于正数的补码就是原码,姑可以推广到所有的数在计算机中都是用补码来存储的。 原码:就是数的二进制形式。负数的原码最高位是1,代表符号位。 反码:正数的反码还是其本身,负数的反码是在原码的基础上,符号位不变,其余位按位取反。 补码:正数的补码还是其本身,负数的补码在其反码的基础上加一。 代码实现 class Solution { public: int NumberOf1(int n) { int ans=0; while(n!=0) { ans++; ...