底数经济度
目录
底数经济度
特定基数(或基数)中数字的基数经济是在该基数中表达它所需的位数乘以基数(每个数字可能具有的值的数量)。 这是为量化使用不同基数表示数字的相对成本而提出的各种建议之一,尤其是在计算机系统中。
定义
给定基数 b 中任何特定数字 N 的基数经济 E(b,N) 定义为
E ( b , N ) = b ⌊ log b ( N ) + 1 ⌋ {\displaystyle E(b,N)=b\lfloor \log _{b}(N)+1\rfloor \ ,}
我们使用 floor 函数 ⌊ ⌋ {\displaystyle \lfloor \rfloor } 和以 b 为底的对数 log b {\displaystyle \log _{b}} 。
如果 b 和 N 都是正整数,那么基数经济 E ( b , N ) {\displaystyle E(b,N)} 等于用基数 b 表示数字 N 所需的位数乘以基数 b. 如果每个数字的成本与 b 成正比,则基数经济因此衡量在基数 b 中存储或处理数字 N 的成本。 因此,在某种意义上,平均基数经济性较低的基地比平均基数经济性较高的基地更有效率。
例如,十进制的 100 有三位数字,因此它的基数经济性是 10×3 = 30; 它的二进制表示有七位数字 (11001002),因此它在基数 2 中具有基数经济 2×7 = 14; 在基数 3 中,它的表示有五位数字 (102013),基数经济性为 3×5 = 15; 在基数 36 (2S36) 中,它的基数经济是 36×2 = 72。
如果把这个数字想象成一个组合锁或一个计数计数器,其中每个轮子有 b 个数字面,从 0 , 1 , . . . , b − 1 {\displaystyle 0,1,…,b-1} 并且有 ⌊ log b ( N ) + 1 ⌋ {\displaystyle \lfloor \log _{b}(N)+ 1\rfloor } 轮子,则基数经济 b ⌊ log b ( N ) + 1 ⌋ {\displaystyle b\lfloor \log _{b}(N)+1\rfloor } 是总数 包含表示从 0 到 N 的任何整数所需的数字面的数量。
渐近行为
大 N 的基数经济可以近似如下:
E ( b , N ) = b ⌊ log b ( N ) + 1 ⌋ ∼ b log b ( N ) = b ln ( b ) ln ( N ) 。 {\displaystyle E(b,N)=b\lfloor \log _{b}(N)+1\rfloor \sim b\ \log _{b}(N)={b over \ln(b)}\ln(N).}E ( b , N ) ln ( N ) ∼ b ln ( b ) 。 {\displaystyle {E(b,N) \over \ln(N)}\sim {b \over \ln(b)}。}
基数 3 获得渐近最佳基数经济,因为 b ln ( b ) {\displaystyle b \over \ln(b)} 在 b = 3 {\displaystyle b=3} 中达到最小值 正整数:
2 ln ( 2 ) ≈ 2.88539 , {\displaystyle {2 \over \ln(2)}\approx 2.88539\,,}3 ln ( 3 ) ≈ 2.73072 , {\displaystyle {3 over \ln(3)}\approx 2.73072\,,}4 ln ( 4 ) ≈ 2.88539 。 {\displaystyle {4 \over \ln(4)}\approx 2.88539\,.}
对于基数 10,我们有:
10 ln ( 10 ) ≈ 4.34294 。 {\displaystyle {10 \over \ln(10)}\approx 4.34294\,.}
不同基地的底数经济度
e 的基数经济性最低
下面证明底数 e 是具有最低平均基数经济性的实值底数:
首先,注意函数
f ( x ) = x ln ( x ) {\displaystyle f(x)={\frac {x}{\ln(x)}}\,}
在 1 < 上严格递减 x < e 并在 x > 上严格增加 e. 因此,对于 x > 1,它的最小值是 1,发生在 e。
接下来,考虑
E ( b , N ) ≈ b log b ( N ) = b ln ( N ) ln ( b ) {\displaystyle {E(b,N)}\approx {b\ {\log _ {b}(N)}}={b{\ln(N) \超过 \ln(b)}}}
然后对于常数 N,E ( b , N ) {\displaystyle {E(b,N)}} 将在 e 处有一个最小值,原因与 f(x) 相同,这意味着 e 因此是最小值的基数 平均基数经济。 由于 2 / ln(2) ≈ 2.89 和 3 / ln(3) ≈ 2.73,因此 3 是具有最低平均基数经济性的整数基数。

比较不同的碱基
基数 b1 和 b2 的基数经济性可以针对较大的 N 值进行比较:
E ( b 1 , N ) E ( b 2 , N ) ≈ b 1 log b 1 ( N ) b 2 log b 2 ( N ) = ( b 1 ln ( N ) ln ( b 1 ) ) ( b 2 ln (N) ln ( b 2 ) ) = b 1 ln ( b 2 ) b 2 ln ( b 1 ) 。 {\displaystyle {{E(b_{1},N)} \over {E(b_{2},N)}}\approx {{b_{1}{\log _{b_{1} }(N)}} \over {b_{2}{\log _{b_{2}}(N)}}}={\left({\dfrac {b_{1}\ln( N)}{\ln(b_{1})}}\right) \over \left({\dfrac {b_{2}\ln(N)}{\ln(b_{2 })}}\right)}={{b_{1}\ln(b_{2})} \超过{b_{2}\ln(b_{1})}}\,.}
为 b2 选择 e 通过函数给出相对于 e 的经济:
E ( b ) E ( e ) ≈ b ln ( e ) e ln ( b ) = b e ln ( b ) {\displaystyle {{E(b)} \over {E(e)}} approx {{b\ln(e)} \over {e\ln(b)}}={{b} \over {e\ln(b)}}\,}
下表给出了不超过几个任意数(避免接近 2 到 12 和 e 的幂)的各种基数的平均基数经济性。 还显示了相对于 e 的基数经济。 请注意,基数为 1 的任何数字的基数经济就是该数字,使其成为最经济的