
位运算
塞思克Cesc
。。。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
神奇的位运算——二进制中1的个数
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 方法1:依次右移,使最右侧的1依次消失。但需要注意负数右移后会在高位补1,需要将负数转换为无符号数。 int NumberOf1(int n) { int cnt = 0; unsigned ui = (unsigned)n; //转换为无符号数原创 2017-12-13 16:20:23 · 458 阅读 · 0 评论 -
神奇的位运算——数组中仅出现一次的数字
今天在知乎上看到的,本身这题确实没啥难度,直接搜索就可以了。但是看到了一个超简单的方法,时间复杂度只有n。使用异或运算,把所有元素进行异或,最后的结果就是出现一次的,很是佩服。怎么说呢,简单题也有让人惊叹的解法,还需要努力啊。。。 代码: #include using namespace std; int Arr[11]={1,1,3,5,4,3,4,5,10,11,10}; int ma原创 2017-04-14 21:37:09 · 436 阅读 · 0 评论