十进制正整数与其二进制表示的位数之间的关系
2015-05-30 16:35 星星之火✨🔥 阅读(1274) 评论(0) 收藏 举报在度量与数字特性相关的算法的输入规模时,计算机科学家常常倾向于度量数字n 的二进制表示中的比特数b:
b = ⌊log2n⌋ + 1
这种度量常常使我们对所讨论算法的效率有一个更加清晰的概念。
下面我们来证明这个等式:
不失一般性,设正整数n 的二进制表示中共有b 位,因此n 的最大值就是所有的位全部取1,即
MaxValue = 2^0 + 2^1 + ... + 2^(b-1) = 2^b - 1。
最小值就是第b 位取1,其余位全部取0,此时MinValue = 2^(b-1)。
因此,我们有 2^(b-1) ≤ n < 2^b。对等式两边以2 为底取对数,有b - 1 ≤ ⌊log2n⌋ < b,即:b = ⌊log2n⌋ + 1。命题得证。
(End_XPJIANG)