问:正整数n?
的二进制表示的长度(位数)是多少据我所知,正整数可以用二进制2的和来表示,但我不知道如何找到任何正整数n的二进制表示的长度
答案 0 :(得分:0)
您可以通过执行以下操作找到长度:
length = ceil(log(N + 1)/ log(2));
即长度是N的日志基数2的上限。由于我记不起日志库2的功能名称,我正在做上面的等价物。 您需要N + 1来正确地说明N是2的直接幂,因此需要一个额外的位来表示它。示例N = 8 =二进制1000。 log 2 of 8为3,3的上限为3,但9的log 2为3.16993,1.16993的上限为4。