Why 1024 instead of 1000?

Draygoes

Fully Optimized
Messages
1,663
Location
United States
This has been a curiosity more than anything, but I have yet to see any decent explanation. So why 1024kb instead of 1000kb? The only thing consistent in searches seems to be binary allocation, but that explanation doesn't match once you start talking GB and TB.
Thank you for your time. Your time is well spent if you don't mind the fact that you are spending it satisfying random curiosity. :angel:

Also; I couldn't decide if I should put this in General or here, so I simply put it here.
 
It's ALL about binary, there are 1024 bits in a Kbit because 1024 = 2^10 (2 to the power of 10) then, there are 1024 kbit in a Mbit for the same reason, that leads to 1024x1024=1,048,576bits, and a further 1024 Mb in a Gb which is 1058576^2=1,073,741,824

the 1024 comes about because with 10 BInary digiTS (bits) there are 1024 possible combinations of different ones and zeros, i.e. 1001011100 or 0011011100, from 0000000000 to 1111111111.

The discrepancy comes in to play because the K and M and G in Kb Mb and Gb are SI (metric) units and are base ten meaning they represent 1,000/1,000,000/1,000,000,000.

Recently, the binary notation standard has been changed to Kib, Mib, and Gib. Mebbi-bit and Gibbi-bit but only some people do it.

If you read the fine print on hard drive boxes and other components, you'll see it says 1GB=1,000,000,000 bytes, or something similar.

also there are always 8 bits (b) in a byte (B), so when you look at something like download speeds, and see 50Mb/s or 50Mbit, you can assume it will take about 8 seconds to download an 50MB (megabyte) file...
 
Last edited:
Disk drive mfrs are notorious for using 1,000/1,000,000/1,000,000,000 because it makes the drive seem bigger. For instance, the free space on my C: drive is 43,895,386,112 bytes or 40.8GB. A disk mfr would state that it's got 43.9GB free because it makes the drive seem larger but ignores the fact that 1K = 1024.
 
Back in the day it didn't matter. The extra bytes being missed off were insignificant. Now we are dealing with Gigabytes and Terrabytes the difference between the actual and the stated size is massive.
 
I think they just round it off.

It's true that the numbers are binary but what I heard was that while a kilobytes were 1024 bytes to start with then megabytes and gigabytes are 1024x1000 and 1024x1000x1000.
 
Because each Kb is the smallest unit the processor can address (It would tecnically be a word, but it's the same principle).

So Let's say you have 4 bit instructions and a 4 bit address, that would make your words 8 bit words, and that's the smallest fraction of memory you can address. Since you have 4 bit addresses, you can address 2^4=16 memory "slots" or whatever you want to call them. So for your example, n=10, and there you have it.

4uYilwy.png


It woul look something like that, only in my example you have a 4 bit Opcode and a 4 bit address.
 
Back
Top Bottom