我不知道 1024 这个数字是从哪里来的。当然,我发现这个数字可以描述为 2^10。我知道 1 字节 = 8 位。我现在的问题是,你为什么取 ^10?我的假设是:1024 是二进制系统中下一个小于千的数字。此外,我还找到了有关 Kilo(=1000)和 Kibi(=1024)的信息。但这并没有回答我的问题,因为我没有找到 +24 的背景?1024 似乎是一个神奇的数字。
我期待您的答复。
答案1
由于二进制数的工作方式,2 的幂对于计算机和程序员来说很方便。1024 对于人类来说也很方便,因为它非常接近十进制值103。
您说得对,在许多情况下,指数也是 2 的幂对计算机来说更有意义。但是 256 和 65536 以及其他偶数 2 的幂与我们人类能够快速概念化和在头脑中操作的数字并不接近。
答案2
2 的许多不同幂在计算中被广泛使用,不仅仅是 1024。您会随处发现 8、16、32、64、128、256、512、4096、1048576、1073741824 以及其他倍数。
计算机是二进制的,因此与计算机、计算机工作原理、硬件、文件等相关的每个数字都是 2 的倍数。如果您想在计算机上处理颜色、声音或几乎任何东西,则需要将其转换为某种二进制形式。
有一些基本构建块,例如字节,因此许多与计算机相关的数字不仅仅是 2 的倍数,而且是 8 之类的倍数的倍数。
计算机相关的数字涵盖了非常广泛的尺寸范围,因此某些倍数往往被用作构建块。想想测量距离和物理尺寸的类比。我们有单位和单位的倍数,这些数字对于我们需要测量的不同事物来说是合理的尺度——纳米用于微观物质,毫米和厘米用于小物质,公里用于更长的距离,等等。它们都是倍数,我们使用对我们需要测量的事物方便的特定倍数。我们不会用纳米来测量到月球的距离。
同样,计算机相关的东西因用途不同而大小各异,我们使用方便的倍数作为所需单位。一个相当常见的所需比例是 1000 左右的数字。人类习惯于使用 10 的幂,因此从人类容易理解数字并能够进行基本数学运算的角度来看,这很合适。恰好最接近的二进制倍数是 1024。
答案3
二进制存储单元是位。它们可以是 1 或 0,因此它们有两种状态。当组合两个位时,它们可以具有状态 00、01、10 或 11。因此有 2^2 个状态。
这就是为什么内存容量以 2 的幂表示。10 位等于 2^10 种不同的可能状态,即 1024 种不同的状态。
现在,由于所有内存地址也都以二进制寻址,因此不仅构建 3 个内存单元(地址 00、01 和 10)是有意义的。相反,使用第四个地址 11 并以 2 的幂构建硬件会更有效。
这就是为什么这个概念在所有基于记忆的单元中持续存在的原因。