【问题标题】:express numbers in powers of two [closed]以二的幂表示数字[关闭]
【发布时间】:2021-09-15 15:30:34
【问题描述】:

如果我们有 2 Tb 的数据,如何用 2 的 x 次方表示? (到最近的)

答案必须是十进制数字。我觉得它是 40.99 但结果是错误的。我想知道如何解决这个问题。谢谢!

【问题讨论】:

  • 如果 10 ** d = 2 ** b 则 b = d / log10(2) = d / 0.30103。例如 10 ** 3 ≈ 2 ** 10。

标签: c math binary


【解决方案1】:

Metric System 前缀都代表 10 的幂,“tera”表示 1012。所以 2 TB 是 2,000,000,000,000 字节,而不是 21,990 亿字节。

binary prefixes 表示二的幂。这些将公制前缀的第二个音节替换为“bi”,表示“二进制”。一个 tebibyte 是 10244 = 240 字节,两个 tebibyte 是 241 字节 = 2,199,023,255,552 字节。

给定一个数x,你可以计算它是2的幂为log2x,也就是以2为底x 的对数。如果您没有以 2 为底的对数函数,则可以将其计算为 log x / log 2,其中“log”是使用任何底数的对数函数。 (除以 log 2 有效地调整了基数。)

log2 2,199,000,000,000 约为 40.9999847,接近 41。因此,如果字节数接近 21,990 亿字节,则接近 241 字节。

【讨论】:

    猜你喜欢
    • 2010-12-09
    • 2019-05-03
    • 1970-01-01
    • 2011-10-27
    • 1970-01-01
    • 2016-11-07
    • 2018-01-15
    • 2020-12-21
    • 1970-01-01
    相关资源
    最近更新 更多