- 博客(1)
- 收藏
- 关注
原创 求一个整数存储在内存中的二进制中1的个数(两种方法)
行不通的本质是:对于while循环,当n=-1时,进入循环时,参与运算的是n的原码,而不是n的补码。对于这条语句我的理解是:向内存中申请4个字节的空间,来存放-1的补码,因为n的类型是unsigned int 所以对于-1的补码,其是没有符号位,全都是数值位,(但当你用上面的代码将-1输入,输出的结果是0。我们可以让整数的补码与1进行&如果结果等于1,那么就说明整数补码的最后一位是1,当你比较完以后,你要利用。同理我们也可以用相同的方法,来求二进制数的每一位,如果求得的结果是1,count++。
2024-08-11 08:48:03 663
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人