程式設計之美3:求二進位制數中1的個數
阿新 • • 發佈:2018-11-27
1: int Count(BYTE v) { int num = 0; while (v) { if (v % 2 == 1) { num++; } v = v / 2; } return num; } //------------------------------- 2: 位操作比除、餘操作效率高很多 int Count(BYTE v) { int num = 0; while (v) { num += v & 0x01; v >>= 1; } return num; } //------------------------------- 3:複雜度至於“1”的個數有關 int Count(BYTE v) { int num = 0; while (v) { v &= (v-1); num++; } return num; }