- 博客(1)
- 收藏
- 关注
原创 二进制中1的个数问题 (超详细)
整数 二进制中1的个数(超详细) 前两天遇到这个问题,第一反应就是%2和>>1这两个操作。 大概思路: 正数:%2,拿到原码(补码)的最右位,对于一个int类型的数进行32次判断,这是比较简单的理解。负数:虽然它的补码需要原码取反加一,但是原码和补码的共同点最右位是一致的,所以%2其实也是可以拿到补码的最右位。 所以这个代码对于整数而言,都是行得通的。 int num = -1; int count1 = 0; for (int i = 0; i < 32;i++)
2021-02-05 20:38:28 4552 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人