for(int i = 2; i < N; ++i) nexte[i] = (i == (i & -i)) ? nexte[i - 1] + 1 : nexte[i - 1];//nexte数组中储存的即是i的二进制最高位的位数
返回数字二进制的最高位位数o(n)
原文:http://www.cnblogs.com/shimu/p/5744314.html