One of the most notable contributions that the metric system has made to computing is the widespread use of metric prefixes for various computer specifications. Where would the computer industry be without the metric system? It is hard to imagine what it would have looked like without the metric system.
We are all familiar with the use of kilobytes, megabytes, gigabytes and terabytes for file sizes, memory and disk space. The metric system also supplies the prefixes to represent larger storage capacities in bigger IT systems. Computer processor speeds use the metric unit called the hertz, which measures clock cycles per second. A few decades ago, we had to make do with kilohertz processing speeds. Now processing speeds have improved so much that they are now measured in megahertz and gigahertz.
The most common prefixes used in the computer industry are:
- kilo (meaning a thousand)
- mega (meaning a million)
- giga (meaning a billion as commonly used for a thousand million)
- tera (meaning a trillion – a million times a million)
The prefixes are, of course, part of the International System of Units (SI), the modern metric system.
The IT press is very sloppy in its use of the prefixes “k”, “M”, “G” and “T”. By happy coincidence, a 10-bit binary string has 1024 distinct values which, depending on the application, can be used to represent numbers between 0 and 1023 or, alternatively, numbers between -512 and +511 (my digital thermometer has a range -50°C which suggests that internally, it uses a 10 bit analogue to digital converter). Similarly a 20-bit binary string has 1,048,576 (= 1024×1024) distinct values. Consequently the International Electrotechnical Commission (IEC) has developed standardised prefixes “Ki” for 1024, “Mi” for 1024×1024 etc which have been published as IEC 80000-13. This publication has been accepted by ISO as part of the ISO 80000 series of standards.
If we use the symbol “B” to represent “bytes”, we get the units “KiB”, “MiB”, “GiB” and “TiB” which should be used when the number of bytes is defined in terms of binary rather than decimal numbers. Unfortunately this is not always the case – sometimes this is due to sloppiness on the part of the marketing teams and sometimes because due to a mixture of binary and decimal values – for example a disk that has 1000 sectors, each of 1024 bytes (in which case it should not be defined as either a 1 MB disk or as a 1 MiB disk.
In order to give credit where credit is due, the IEC uses the SI prefixes “K”, “M”, “G” and “T” as the basis for its binary-based prefixes, but they do use an upper-case “K” rather than a lower case “k” and liased with ISO when publishing their document.
LikeLike
The binary based prefixes are logical and accurate and as with decimal metric measurements, convey accuracy for the purpose they were introduced for. In the IT industry we are used to base 16 measurements.
Software I have written uses the terms kiB / MiB / Gib and TiB (I have coded for TiB but would be anxious if my customers started uploading that amount of data). I will check capitalisation on KiB on my software as I may have used kiB rather than KiB – perhaps on a Pavlovian basis, due to once having written a memo to a health and safety person complaining that there is no such unit as the “Kelvin Giga” when it comes to the manual handling regs.
I have seen reports that Microsoft Windows operating systems have used the binary based measures for some long while but represents them as kB, MB etc. On a personal empirical basis I have seen nothing to incline me against that claim. As a long-suffering programmer I can get the size of a file or a database entry in glorious base 10, so can perform my own conversion.
LikeLike