Prefixes for decimal and binary multiples powers of tens


The main reason is that decimal prefixes were and are often misused e. Using MiB avoids ambiguity and clarifies that the quantity is equal to 1 bytes, but on the other hand it makes the calculations more difficult. A better approach would be to use decimal prefixes with their correct meaning of course , and possibly specify the exact size in bytes or add a note to clarify that the application is using decimal prefixes. As noted by the IT specialist, the difference between 1 kB bytes and 1 KiB bytes is not so much, but it grows with the larger prefixes.

This table and graph show the differences between decimal and binary prefixes. For example, 1 GB is equal to 0. The following table and graph, instead, show the differences between binary and decimal prefixes. For example, 1 GiB is equal to 1. Finally, this table combines the two previous tables and summarizes the differences between the prefixes, showing their exact value in bytes. As we said at the beginning of this paragraph, the difference between 1 kB and 1 KiB is only 24 bytes, but between 1 TB and 1 TiB is about Between a YB and a YiB is even greater: It's quite clear that the difference will keep increasing as long as the technology will evolve, and that small errors will become huge.

Nowadays we already use gigabytes and terabytes and these differences are already noticeable. We will now analize how these prefixes are used to specify the size of mass-storage devices, memories and the speed of processors. The size of the hard disks is probably one of the well-known cases where the differences between the prefixes leads to confusion.

Due to the high number of bytes that a modern hard disk can store, it's easy to see the divergence between what you read on the package and what your operative system may see. If you buy a GB hard disk you will probably note that some operative systems e. Actually those 35 GB are not disappeared, the size of the hard disk is really GB and the OS can see all the bytes, but since it misuses the decimal "GB" with binary meaning instead of using "GiB" the two values appear to be different.

The hard disks manufacturers usually use the SI decimal prefixes and thus they correctly state the capacity of the disks in giga or tera bytes. We want to know how many GiB are bytes, so: Their size is supposed to be 1.

A floppy can store bytes per sector and it has 2 sides divided in 80 tracks where each track has 18 sectors. Once again math can help us:. The size of a floppy, in bytes, is: If we divide this value with the value of the "third MB" we obtain: Actually, its real size in MB and MiB is: We also said that its size is 1 KiB: Once again the real size of the floppy is not the one that the OS may see.

In this case is not only due to the use of the prefixes. For example, Windows detected only 1. This happen with other storage devices too, but the number of non-detected bytes compared with the overall size of the devices is usually fairly small. The size of flash drives e. Althought these values are powers of two, the prefixes they use are decimal , so a MB and a 4 GB USB flash drive can store respectively roughly and 4 bytes. Since the CPU registers responsible for addressing memory follow a binary logic, they can address a number of bytes in the RAM equal to a power of two.

The aforementioned is also applicable to the memory of video cards and other similar types of memory. Since there is no reason to use binary prefixes in this situation, only the decimal prefixes are used.

For example, a CPU with a frequence of 2 GHz will be able to do 2 cycles in a second one hertz is equal to one cycle per second. On the other hand, all the size of registers as well as the cache memory are based on powers on two, so they use binary prefixes.

Windows uses decimal prefixes MB, GB, It doesn't seem aware of the existence of binary prefixes, even though some third-party applications e. FileZilla might use them. It also seems that the size shown by Windows is truncated instead of rounded e. There are errors even in the documentation, for instance, in the article Determining Actual [Floppy] Disk Size there's written: Although its size has been popularly called 1.

We have seen that the size of a floppy is 1. Linux The kernel use the prefixes correctly but other applications might follow different conventions. For instance, dd can understand both the decimal and the binary prefixes:.

In the output we can see that it has copied exactly 20 bytes. File sizes are not powers of 2. For example, this document is now bytes, and it's easier to express this as With decimal prefixes it's also a lot easier to add and subtract values with different prefixes. For example assume that we have a 4. Let's do the same calculation again, but assuming that the sizes of the files are instead expressed with binary prefixes.

The sizes are expressed with binary prefixes so it's more difficult to convert them to MiB: Our DVD uses decimal prefixes and its size is 4. After several conversion we finally found out that the exact size of all the files is 5. Even though it's now clear how using decimal prefixes greatly simplifies calculations, several applications still prefers to use binary prefixes.

The main reason is that decimal prefixes were and are often misused e. Using MiB avoids ambiguity and clarifies that the quantity is equal to 1 bytes, but on the other hand it makes the calculations more difficult.

A better approach would be to use decimal prefixes with their correct meaning of course , and possibly specify the exact size in bytes or add a note to clarify that the application is using decimal prefixes.

As noted by the IT specialist, the difference between 1 kB bytes and 1 KiB bytes is not so much, but it grows with the larger prefixes. This table and graph show the differences between decimal and binary prefixes.

For example, 1 GB is equal to 0. The following table and graph, instead, show the differences between binary and decimal prefixes. For example, 1 GiB is equal to 1. Finally, this table combines the two previous tables and summarizes the differences between the prefixes, showing their exact value in bytes. As we said at the beginning of this paragraph, the difference between 1 kB and 1 KiB is only 24 bytes, but between 1 TB and 1 TiB is about Between a YB and a YiB is even greater: It's quite clear that the difference will keep increasing as long as the technology will evolve, and that small errors will become huge.

Nowadays we already use gigabytes and terabytes and these differences are already noticeable. We will now analize how these prefixes are used to specify the size of mass-storage devices, memories and the speed of processors. The size of the hard disks is probably one of the well-known cases where the differences between the prefixes leads to confusion. Due to the high number of bytes that a modern hard disk can store, it's easy to see the divergence between what you read on the package and what your operative system may see.

If you buy a GB hard disk you will probably note that some operative systems e. Actually those 35 GB are not disappeared, the size of the hard disk is really GB and the OS can see all the bytes, but since it misuses the decimal "GB" with binary meaning instead of using "GiB" the two values appear to be different.

The hard disks manufacturers usually use the SI decimal prefixes and thus they correctly state the capacity of the disks in giga or tera bytes.

We want to know how many GiB are bytes, so: Their size is supposed to be 1. A floppy can store bytes per sector and it has 2 sides divided in 80 tracks where each track has 18 sectors. Once again math can help us:.

The size of a floppy, in bytes, is: If we divide this value with the value of the "third MB" we obtain: Actually, its real size in MB and MiB is: We also said that its size is 1 KiB: Once again the real size of the floppy is not the one that the OS may see. In this case is not only due to the use of the prefixes. For example, Windows detected only 1. This happen with other storage devices too, but the number of non-detected bytes compared with the overall size of the devices is usually fairly small.

The size of flash drives e. Althought these values are powers of two, the prefixes they use are decimal , so a MB and a 4 GB USB flash drive can store respectively roughly and 4 bytes.

Since the CPU registers responsible for addressing memory follow a binary logic, they can address a number of bytes in the RAM equal to a power of two. The aforementioned is also applicable to the memory of video cards and other similar types of memory. Since there is no reason to use binary prefixes in this situation, only the decimal prefixes are used. For example, a CPU with a frequence of 2 GHz will be able to do 2 cycles in a second one hertz is equal to one cycle per second.

On the other hand, all the size of registers as well as the cache memory are based on powers on two, so they use binary prefixes. Windows uses decimal prefixes MB, GB,