【 位 运 算 】
文章平均质量分 90
残阳摧雪
行有不得,反求诸己!
展开
-
二进制中1的个数
平行算法int BitCount(unsigned int n) { n = (n &0x55555555) + ((n >>1) &0x55555555) ; n = (n &0x33333333) + ((n >>2) &0x33333333) ; n = (n &0x0f0f0f0f) + ((n >>4) &0x0f0f0f0f) ; n = (n &0x00原创 2017-03-14 18:05:51 · 582 阅读 · 0 评论 -
异或运算
异或性质任何一个数字异或其自身都等于0,也就是,如果我们从头到尾依次异或数组中的每一个数字,那么最终的结果刚好是那个只出现一次的数字,因为那些出现两次的数字全部在异或中抵消掉了。例子:从N个数(每个数范围为1→N+11 \rightarrow N+1,这个N个数没有排好序)中,找出第一个miss的数。#include <iostream> #include <vector>using namespa原创 2017-09-07 11:54:30 · 355 阅读 · 0 评论