In computing and telecommunications, a unit of information is the capacity of some standard data storage system or communication channel, used to measure the capacities of other systems and channels. In information theory, units of information are also used to measure the entropy of random variables and information contained in messages.
The most commonly used units of data storage capacity are the bit, the capacity of a system that has only two states, and the byte (or octet), which is equivalent to eight bits. Multiples of these units can be formed from these with the SI prefixes (poweroften prefixes) or the newer IEC binary prefixes (poweroftwo prefixes).
In 1928, Ralph Hartley observed a fundamental storage principle,^{ [1] } which was further formalized by Claude Shannon in 1945: the information that can be stored in a system is proportional to the logarithm of N possible states of that system, denoted log_{b}N. Changing the base of the logarithm from b to a different number c has the effect of multiplying the value of the logarithm by a fixed constant, namely log_{c}N = (log_{c}b) log_{b}N. Therefore, the choice of the base b determines the unit used to measure information. In particular, if b is a positive integer, then the unit is the amount of information that can be stored in a system with N possible states.
When b is 2, the unit is the shannon, equal to the information content of one "bit" (a portmanteau of binary digit^{ [2] }). A system with 8 possible states, for example, can store up to log_{2}8 = 3 bits of information. Other units that have been named include:
Units of information 
The trit, ban, and nat are rarely used to measure storage capacity; but the nat, in particular, is often used in information theory, because natural logarithms are mathematically more convenient than logarithms in other bases.
Several conventional names are used for collections or groups of bits.
Historically, a byte was the number of bits used to encode a character of text in the computer, which depended on computer hardware architecture; but today it almost always means eight bits – that is, an octet. A byte can represent 256 (2^{8}) distinct values, such as nonnegative integers from 0 to 255, or signed integers from −128 to 127. The IEEE 15412002 standard specifies "B" (upper case) as the symbol for byte (IEC 8000013 uses "o" for octet in French,^{ [nb 1] } but also allows "B" in English, which is what is actually being used). Bytes, or multiples thereof, are almost always used to specify the sizes of computer files and the capacity of storage units. Most modern computers and peripheral devices are designed to manipulate data in whole bytes or groups of bytes, rather than individual bits.
A group of four bits, or half a byte, is sometimes called a nibble, nybble or nyble. This unit is most often used in the context of hexadecimal number representations, since a nibble has the same amount of information as one hexadecimal digit.^{ [7] }
A pair of two bits or a quarter byte was called a crumb,^{ [8] } often used in early 8bit computing (see Atari 2600, ZX Spectrum).^{[ citation needed ]} It is now largely defunct.
Computers usually manipulate bits in groups of a fixed size, conventionally called words . The number of bits in a word is usually defined by the size of the registers in the computer's CPU, or by the number of data bits that are fetched from its main memory in a single operation. In the IA32 architecture more commonly known as x8632, a word is 16 bits, but other past and current architectures use words with 4,^{ [9] } 8,^{ [9] } 9,^{ [9] } 12,^{ [9] } 13,^{ [9] } 16,^{ [9] } 18,^{ [9] } 20,^{ [9] } 21,^{ [9] } 22,^{ [9] } 24,^{ [9] } 25,^{ [9] } 26, 29,^{ [9] } 30,^{ [9] } 31,^{ [9] } 32,^{ [9] } 33,^{ [9] } 35,^{ [9] } 36,^{ [9] } 38,^{ [9] } 39,^{ [9] } 40,^{ [9] } 42,^{ [9] } 44,^{ [9] } 48,^{ [9] } 50,^{ [9] } 52,^{ [9] } 54,^{ [9] } 56,^{ [9] } 60,^{ [9] } 64,^{ [9] } 72,^{ [9] } 80 bits or others.
Some machine instructions and computer number formats use two words (a "double word" or "dword"), or four words (a "quad word" or "quad").
Computer memory caches usually operate on blocks of memory that consist of several consecutive words. These units are customarily called cache blocks, or, in CPU caches, cache lines.
Virtual memory systems partition the computer's main storage into even larger units, traditionally called pages .
Terms for large quantities of bits can be formed using the standard range of SI prefixes for powers of 10, e.g., kilo = 10^{3} = 1000 (as in kilobit or kbit), mega = 10^{6} = 1000000 (as in megabit or Mbit) and giga = 10^{9} = 1000000000 (as in gigabit or Gbit). These prefixes are more often used for multiples of bytes, as in kilobyte (1 kB = 8000 bit), megabyte (1 MB = 8000000bit), and gigabyte (1 GB = 8000000000bit).
However, for technical reasons, the capacities of computer memories and some storage units are often multiples of some large power of two, such as 2^{28} = 268435456 bytes. To avoid such unwieldy numbers, people have often repurposed the SI prefixes to mean the nearest power of two, e.g., using the prefix kilo for 2^{10} = 1024, mega for 2^{20} = 1048576, and giga for 2^{30} = 1073741824, and so on. For example, a random access memory chip with a capacity of 2^{28} bytes would be referred to as a 256megabyte chip. The table below illustrates these differences.
Multiples of bits  


 

Symbol  Prefix  SI Meaning  Binary meaning  Size difference 

k  kilo  10^{3} = 1000^{1}  2^{10} = 1024^{1}  2.40% 
M  mega  10^{6} = 1000^{2}  2^{20} = 1024^{2}  4.86% 
G  giga  10^{9} = 1000^{3}  2^{30} = 1024^{3}  7.37% 
T  tera  10^{12} = 1000^{4}  2^{40} = 1024^{4}  9.95% 
P  peta  10^{15} = 1000^{5}  2^{50} = 1024^{5}  12.59% 
E  exa  10^{18} = 1000^{6}  2^{60} = 1024^{6}  15.29% 
Z  zetta  10^{21} = 1000^{7}  2^{70} = 1024^{7}  18.06% 
Y  yotta  10^{24} = 1000^{8}  2^{80} = 1024^{8}  20.89% 
In the past, uppercase K has been used instead of lowercase k to indicate 1024 instead of 1000. However, this usage was never consistently applied.
On the other hand, for external storage systems (such as optical discs), the SI prefixes were commonly used with their decimal values (powers of 10). There have been many attempts to resolve the confusion by providing alternative notations for poweroftwo multiples. In 1998 the International Electrotechnical Commission (IEC) issued a standard for this purpose, namely a series of binary prefixes that use 1024 instead of 1000 as the main radix:^{ [10] }
Multiplebyte units  


 
Orders of magnitude of data 
Symbol  Prefix  

Ki  kibi, binary kilo  1 kibibyte (KiB)  2^{10} bytes  1024 B 
Mi  mebi, binary mega  1 mebibyte (MiB)  2^{20} bytes  1024 KiB 
Gi  gibi, binary giga  1 gibibyte (GiB)  2^{30} bytes  1024 MiB 
Ti  tebi, binary tera  1 tebibyte (TiB)  2^{40} bytes  1024 GiB 
Pi  pebi, binary peta  1 pebibyte (PiB)  2^{50} bytes  1024 TiB 
Ei  exbi, binary exa  1 exbibyte (EiB)  2^{60} bytes  1024 PiB 
The JEDEC memory standards however define uppercase K, M, and G for the binary powers 2^{10}, 2^{20} and 2^{30} to reflect common usage.^{ [11] }
This section needs additional citations for verification . (September 2014) (Learn how and when to remove this template message) 
Several other units of information storage have been named:^{ [7] }
Some of these names are jargon, obsolete, or used only in very restricted contexts.
The bit is a basic unit of information in computing and digital communications. The name is a portmanteau of binary digit. The bit represents a logical state with one of two possible values. These values are most commonly represented as either "1"or"0", but other representations such as true/false, yes/no, +/−, or on/off are common.
The byte is a unit of digital information that most commonly consists of eight bits. Historically, the byte was the number of bits used to encode a single character of text in a computer and for this reason it is the smallest addressable unit of memory in many computer architectures. To disambiguate arbitrarily sized bytes from the common 8bit definition, network protocol documents such as The Internet Protocol (1981) refer to an 8bit byte as an octet. Those bits in an octet are usually counted with numbering from 0 to 7 or 7 to 0 depending on the endianness. The first bit is number 0, making the eighth bit number 7.
In computing and electronic systems, binarycoded decimal (BCD) is a class of binary encodings of decimal numbers where each digit is represented by a fixed number of bits, usually four or eight. Sometimes, special bit patterns are used for a sign or other indications.
A binary prefix is a unit prefix for multiples of units in data processing, data transmission, and digital information, notably the bit and the byte, to indicate multiplication by a power of 2.
The gigabyte is a multiple of the unit byte for digital information. The prefix giga means 10^{9} in the International System of Units (SI). Therefore, one gigabyte is one billion bytes. The unit symbol for the gigabyte is GB.
Giga ( or ) is a unit prefix in the metric system denoting a factor of a shortscale billion or longscale milliard (10^{9} or 1000000000). It has the symbol G.
In computer science, an integer is a datum of integral data type, a data type that represents some range of mathematical integers. Integral data types may be of different sizes and may or may not be allowed to contain negative values. Integers are commonly represented in a computer as a group of binary digits (bits). The size of the grouping varies so the set of integer sizes available varies between different types of computers. Computer hardware nearly always provide a way to represent a processor register or memory address as an integer.
The kilobyte is a multiple of the unit byte for digital information.
The kilobit is a multiple of the unit bit for digital information or computer storage. The prefix kilo (symbol k) is defined in the International System of Units (SI) as a multiplier of 10^{3} (1 thousand), and therefore,
The megabyte is a multiple of the unit byte for digital information. Its recommended unit symbol is MB. The unit prefix mega is a multiplier of 1000000 (10^{6}) in the International System of Units (SI). Therefore, one megabyte is one million bytes of information. This definition has been incorporated into the International System of Quantities.
In computing, a nibble (occasionally nybble or nyble to match the spelling of byte) is a fourbit aggregation, or half an octet. It is also known as halfbyte or tetrade. In a networking or telecommunication context, the nibble is often called a semioctet, quadbit, or quartet. A nibble has sixteen (2^{4}) possible values. A nibble can be represented by a single hexadecimal digit and called a hex digit.
In computer and machinebased telecommunications terminology, a character is a unit of information that roughly corresponds to a grapheme, graphemelike unit, or symbol, such as in an alphabet or syllabary in the written form of a natural language.
An order of magnitude is a factor of ten. Thus, four orders of magnitude are a factor of 10,000 or 10^{4}.
A unit prefix is a specifier or mnemonic that is prepended to units of measurement to indicate multiples or fractions of the units. Units of various sizes are commonly formed by the use of such prefixes. The prefixes of the metric system, such as kilo and milli, represent multiplication by powers of ten. In information technology it is common to use binary prefixes, which are based on powers of two. Historically, many prefixes have been used or proposed by various sources, but only a narrow set has been recognised by standards organisations.
IEEE 15412002 is a standard issued in 2002 by the Institute of Electrical and Electronics Engineers (IEEE) concerning the use of prefixes for binary multiples of units of measurement related to digital electronics and computing.
The octet is a unit of digital information in computing and telecommunications that consists of eight bits. The term is often used when the term byte might be ambiguous, as the byte has historically been used for storage units of a variety of sizes.
ISO 80000 or IEC 80000 is an international standard introducing the International System of Quantities (ISQ). It was developed and promulgated jointly by the International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC).
The JEDEC memory standards are the specifications for semiconductor memory circuits and similar storage devices promulgated by the Joint Electron Device Engineering Council (JEDEC) Solid State Technology Association, a semiconductor trade and engineering standardization organization.
This timeline of binary prefixes lists events in the history of the evolution, development, and use of units of measure for information, the bit and the byte, which are germane to the definition of the binary prefixes by the International Electrotechnical Commission (IEC) in 1998.
In computing, a syllable is a name for a platformdependent unit of information storage. Depending on the target hardware, various bit widths are associated with it. Commonly used in the 1960s and 1970s, the term has mostly fallen into disuse in favour of terms like byte or word.
[…] The writing of an impulse would involve writing a dibit or two transitions arbitrarily closely together. […]
[…] Bit  The smallest unit of information which can be represented. (A bit may be in one of two states I 0 or 1). […] Byte  A group of 8 contiguous bits occupying a single memory location. […] Character  A group of 4 contiguous bits of data. […] programs are held in either ROM or program RAM, both of which are divided into pages. Each page consists of 256 8bit locations. Addresses 0 through 255 comprise the first page, 256511 comprise the second page, and so on. […](NB. This Intel 4004 manual uses the term character referring to 4bit rather than 8bit data entities. Intel switched to use the more common term nibble for 4bit entities in their documentation for the succeeding processor 4040 in 1974 already.)
[…] slab, Abk. aus syllable = Silbe, die kleinste adressierbare Informationseinheit für 12 bit zur Übertragung von zwei Alphazeichen oder drei numerischen Zeichen. (NCR) […] Hardware: Datenstruktur: NCR 315100 / NCR 315RMC; Wortlänge: Silbe; Bits: 12; Bytes: –; Dezimalziffern: 3; Zeichen: 2; Gleitkommadarstellung: fest verdrahtet; Mantisse: 4 Silben; Exponent: 1 Silbe (11 Stellen + 1 Vorzeichen) […] [ slab , abbr. for syllable = syllable, smallest addressable information unit for 12 bits for the transfer of two alphabetical characters or three numerical characters. (NCR) […] Hardware: Data structure: NCR 315100 / NCR 315RMC; Word length: Syllable; Bits: 12; Bytes: –; Decimal digits: 3; Characters: 2; Floating point format: hardwired; Significand: 4 syllables; Exponent: 1 syllable (11 digits + 1 prefix)]