二进制
文章平均质量分 72
slime_kirito
讨厌无力的自己
展开
-
算法的强大——快速计算一个正二进制整数中包含多少个1
原题:一个正整数,转成二进制后,这个二进制数包含多少个1? 这个问题在网上看过多次,几番思考,也没有什么好的办法。采用最基本的办法,逐位判断,是1的统计加1,最后将统计数返回。 以下是这个思路的VB2008代码,不失一般性,将正整数的范围控制在(1~231-1) Private Function GetCount1OfValue(ByVal Value As In转载 2015-05-21 15:33:54 · 627 阅读 · 0 评论 -
判断一个整数x是否是2的N次方。
前提,x > 0。判断一个整数x是否是2的N次方。方法之一是判断x & (x - 1)==0。若为True,则x是2的N次方;若为False,则x不是2的N次方。#includeusing namespace std;int main(){ int x;//x>0. while (cin >> x) { if ((x&(x - 1)) == 0)转载 2015-05-21 15:37:51 · 731 阅读 · 0 评论