当我们在硬件中说4K时,它等于值4096,即11位。 2G的值是多少,有多少位代表这个值?
谢谢
答案 0 :(得分:1)
通常在CS中我们处理的数字必须是2的幂(例如所有可寻址的数量) 在这种情况下,使用前缀而不是10的倍数更有用,例如十进制 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 。
因此在十进制 G 中 10 ^ 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 位。
注意我使用短语“代表4Ki数量”而不是“代表4Ki数量”,后者是不同的需要多一点。这类似于说要表示1000个数量,我们需要3个十进制数字(从000到999)但是要表示数字1000本身我们需要4个数字(1,0,0和0)。