多少位表示值 2G

how many bits represent the value 2G

当我们在硬件中说 4K 时,它等于值 4096,即 11 位。 2G 的值是多少?多少位表示该值?

谢谢

通常在 CS 中我们处理的数字必须是 2 的幂(例如所有可寻址的数量)。
在这种情况下,使用前缀而不是十的倍数更有用,例如 decimal K = 10^ 3, M = 10^6, G = 10^9,是二的倍数。

由于最接近 1000 的两个次方,也就是小数 K,是 1024 = 2^10,我们可以使类比在 CS K 1024 而不是 1000.

这相当令人困惑,因为某些数量(如磁盘大小或传输通道参数)不一定是 2 的幂,可以用小数 K 或CS K.
为了避免进一步混淆,CS 现在使用适当的 binary prefixes,例如 CS K 现在是 Ki

所以十进制 G10^9 = (10^3)​​^3 你可以认为是 K^3 然后是二进制的 G (最好叫作 Gi)是 Ki^3 = (2^10)^3 = 2^30.

要表示 4Ki 数量,您需要 12 位作为 log2(4Ki) = log2(2^2 * 2^10) = 12.
要表示 2Gi 数量,您需要 log2(2Gi) = log2(2 * 2^30) = 31 位。

注意 我用的是 "To represent 4Ki quantities" 而不是 "To represent the 4Ki quantity",后者不同,需要多一点。这类似于说要表示 1000 个数量,我们需要 3 个十进制数字(从 000 到 999),但要表示数字 1000 本身,我们需要 4 个数字(1、0、0 和 0)。