问:正整数n的二进制表示的长度(位数)是多少?
我知道一个正整数可以用以2为底的和用二进制表示,但我不确定如何找到任何正整数n的二进制表示的长度
发布于 2015-05-01 04:22:20
您可以通过执行以下操作来确定长度:
长度= ceil(log(N + 1)/log(2));
这就是长度是N的以2为底的对数的上限,因为我记不住以2为底的对数函数名,所以我做了上面的等价物。你需要N+1才能正确地说明N是2的直接幂,因此需要额外的一位来表示它。示例N=8= 1000,以二进制表示。8的对数底2是3,3的上限是3,但9的对数底2是3.16993,3.16993的上限是4。
https://stackoverflow.com/questions/29976635
复制相似问题