本帖最后由 z47057554 于 2015-3-8 05:52 编辑
先说10 进制
1=10*(0)自定义的幂表示
10=10*(1)
。。。
1000...0=10*(n) n表示1后面的0个数
对比说二进制
1=2*(0)
10=2*(1)
.。。。
1000...0=2*(n);n为1后面0的个数
那么判断是否2的幂的依据,就是,把每个位上的数都取出来,这里你应该会取吧
取完所有的位存放于数组,因为二进制只能取到0,1,所以只要判断数组中是不是有且仅有一个1即可,当然也可以判断具体是哪个多少幂
|