2020年3月13日

计算一个整数二进制表示中1的个数(剑指)

摘要: 题意大概是就是标题所说,不过特别需要注意这里有一个坑,就是输入的整数也可能是负数,而C++负数表示为高位全部为1,如-2表示为111...10(32位),所以如果输入-2,输出1的个数为31。 因此我们肯定不能简单地右移n,这会导致左边高位不断补1,最后陷入死循环(负数不断右移不会为0) 第一种办法 阅读全文

posted @ 2020-03-13 17:43 QingFengDaHui 阅读(242) 评论(0) 推荐(0) 编辑

导航