MarketByte
Company Profile

Byte

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 8-bit definition, network protocol documents such as the Internet Protocol refer to an 8-bit 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 bit endianness.

Etymology and history
The term byte was coined by Werner Buchholz in June 1956, He notes that "Since 1975 or so, the word byte has come to mean a sequence of precisely eight binary digits...When we speak of bytes in connection with MIX we shall confine ourselves to the former sense of the word, harking back to the days when bytes were not yet standardized." The development of eight-bit microprocessors in the 1970s popularized this storage size. Microprocessors such as the Intel 8080, the direct predecessor of the 8086, could also perform a small number of operations on the four-bit pairs in a byte, such as the decimal-add-adjust (DAA) instruction. A four-bit quantity is often called a nibble, also nybble, which is conveniently represented by a single hexadecimal digit. The term octet unambiguously specifies a size of eight bits. It is used extensively in protocol definitions. Historically, the term octad or octade was used to denote eight bits as well at least in Western Europe; however, this usage is no longer common. The exact origin of the term is unclear, but it can be found in British, Dutch, and German sources of the 1960s and 1970s, and throughout the documentation of Philips mainframe computers. == Unit symbol ==
Unit symbol
The unit symbol for the byte is specified in IEC 80000-13, IEEE 1541 and the Metric Interchange Format as the upper-case character B. In the International System of Quantities (ISQ), B is also the symbol of the bel, a unit of logarithmic power ratio named after Alexander Graham Bell, creating a conflict with the IEC specification. However, little danger of confusion exists, because the bel is a rarely used unit. It is used primarily in its decadic fraction, the decibel (dB), for signal strength and sound pressure level measurements, while a unit for one-tenth of a byte, the decibyte, and other fractions, are only used in derived units, such as transmission rates. The lowercase letter o for octet is defined as the symbol for octet in IEC 80000-13 and is commonly used in languages such as French and Romanian, and is also combined with metric prefixes for multiples, for example ko and Mo. == Multiple-byte units ==
Multiple-byte units
Unit multiples of the byte are defined in a metric system based on the powers of 10, following the International System of Units (SI), which defines, for example, the prefix kilo as 1000 (103), as well as a binary system based on powers of two. Historically, the binary system used the identical prefixes of the metric system, but quantified differently. The nomenclature of the latter system has led to confusion. Systems based on powers of 10 use standard SI prefixes (kilo, mega, giga, ...) and their corresponding symbols (k, M, G, ...). The modern binary system uses prefixes kibi, mebi, gibi, etc., and their corresponding symbols (Ki, Mi, Gi, ...). Historical usage for the binary system still uses the prefixes K, M, and G. While the difference between the decimal and binary interpretations is relatively small for the kilobyte (about 2% smaller than the kibibyte), the systems deviate increasingly as units grow larger (the relative deviation grows by 2.4% for each three orders of magnitude). For example, a power-of-10-based terabyte is about 9% smaller than power-of-2-based tebibyte. Units based on powers of 10 (SI Prefixes) Definition of prefixes using powers of 10—in which 1 kilobyte (symbol kB) is defined to equal 1,000 bytes—is recommended by the International Electrotechnical Commission (IEC). The IEC standard defines eight such multiples, up to 1 yottabyte (YB), equal to 10008 bytes. The additional prefixes ronna- for 10009 and quetta- for 100010 were adopted by the International Bureau of Weights and Measures (BIPM) in 2022. This definition is most commonly used for data-rate units in computer networks, internal bus, hard drive and flash media transfer speeds, ISP contracts, and for the capacities of most storage media, particularly hard drives and SSDs, flash-based storage, CDs, DVDs and Blu-rays. Operating systems that use this definition include Android (and derivatives), macOS, iOS, and Debian, ChromeOS, HarmonyOS and the Gnome desktop environment. It is also consistent with the other uses of the SI prefixes in computing, such as CPU clock speeds or measures of performance. The IBM System 360 and the related disk and tape systems set the byte at 8 bits and documented capacities in decimal units. The early 8-, 5.25- and 3.5-inch floppies gave capacities in multiples of 1024, using "KB" rather than the more accurate "KiB". The later, larger, 8-, 5.25- and 3.5-inch floppies gave capacities in a hybrid notation, i.e., multiples of 1024,000, using and Early 5.25-inch disks used decimal even though they used 128-byte and 256-byte sectors. Hard disks used mostly 256-byte and then 512-byte before 4096-byte blocks became standard. Units based on powers of 2 (IEC Prefixes) A system of units based on powers of 2 in which 1 kibibyte (KiB) is equal to 1,024 (i.e., 210) bytes was created by the IEC to solve the confusion over incorrect usage of SI prefixes. It is defined by international standard IEC 80000-13, which is supported by national and international standards bodies (BIPM, IEC, NIST). The IEC standard defines ten such multiples, up to 1 quebibyte (QiB), equal to 102410 bytes. These unit symbols are rarely used in practice. Notable exceptions are KDE and applications based on the Qt toolkit but the KDE settings app allows switching to SI. A historic convention of nomenclature for the same units, in which 1 kilobyte (KB) is equal to 1,024 bytes, 1 megabyte (MB) is equal to 10242 bytes and 1 gigabyte (GB) is equal to 10243 bytes is mentioned by a 1990s JEDEC standard which is used for RAM. Only the first three multiples (up to GB) are mentioned by the JEDEC standard, which makes no mention of TB and larger. These units can only be recognized through comparison using different software. Sometimes the capitalization of the K in KB can be an indicator. While confusing and incorrect, this convention is used by the Microsoft Windows operating system and random-access memory capacity, such as main memory and CPU cache size, and in marketing and billing by some telecommunication companies, such as Vodafone, AT&T, Orange and Telstra. For storage capacity, the historic convention was used by macOS and iOS through Mac OS X 10.5 Leopard and iOS 10, after which they switched to units based on powers of 10. and was advertised as "110 Kbyte", using the 1000 convention. Likewise, the 8-inch DEC RX01 floppy (1975) held bytes formatted, and was advertised as "256k". Some devices were advertised using a mixture of the two definitions: most notably, floppy disks advertised as "1.44 MB" have an actual capacity of , the equivalent of 1.47 MB or 1.41 MiB. In 1995, the International Union of Pure and Applied Chemistry's (IUPAC) Interdivisional Committee on Nomenclature and Symbols attempted to resolve this ambiguity by proposing a set of binary prefixes for the powers of 1024, including kibi (kilobinary), mebi (megabinary), and gibi (gigabinary). In December 1998, the IEC addressed such multiple usages and definitions by adopting the IUPAC's proposed prefixes (kibi, mebi, gibi, etc.) to unambiguously denote powers of 1024. Thus one kibibyte (1 KiB) is 10241 bytes = 1024 bytes, one mebibyte (1 MiB) is 10242 bytes = bytes, and so on. In 1999, Donald Knuth suggested calling the kibibyte a "large kilobyte" (KKB). Modern standard definitions The IEC adopted the IUPAC proposal and published the standard in January 1999. The IEC prefixes are part of the International System of Quantities. The IEC further specified that the kilobyte should only be used to refer to bytes. Lawsuits over definition Lawsuits arising from alleged consumer confusion over the binary and decimal definitions of multiples of the byte have generally ended in favor of the manufacturers, with courts holding that the legal definition of gigabyte or GB is 1 GB = (109) bytes (the decimal definition), rather than the binary definition (230, i.e., ). Specifically, the United States District Court for the Northern District of California held that "the U.S. Congress has deemed the decimal definition of gigabyte to be the 'preferred' one for the purposes of 'U.S. trade and commerce' [...] The California Legislature has likewise adopted the decimal system for all 'transactions in this state. Earlier lawsuits had ended in settlement with no court ruling on the question, such as a lawsuit against drive manufacturer Western Digital. Western Digital settled the challenge and added explicit disclaimers to products that the usable capacity may differ from the advertised capacity. Practical examples == Common uses ==
Common uses
Many programming languages define the data type byte. Java, .NET (C#, F#, VB.NET), Rust, D, Go, Swift, JavaScript, Python, Ruby all define and use 8-bit bytes capable of holding exactly 256 different values. The C and C++ programming languages define byte as an "addressable unit of data storage large enough to hold any member of the basic character set of the execution environment" (clause 3.6 of the C standard). The C standard requires that the integral data type unsigned char must hold at least 256 different values, and is represented by at least eight bits (clause 5.2.4.2.1). Various implementations of C and C++ reserve 8, 9, 16, 32, or 36 bits for the storage of a byte. However almost all modern software would not actually work if compiled with a byte size other than 8 bit. Further POSIX says "A byte is composed of a contiguous sequence of 8 bits." Today, non-8-bit bytes only find niche application like in DSPs. In data transmission systems, the byte is used as a contiguous sequence of bits in a serial data stream, representing the smallest distinguished unit of data. For asynchronous communication a full transmission unit usually additionally includes a start bit, 1 or 2 stop bits, and possibly a parity bit, and thus its size may vary from seven to twelve bits for five to eight bits of actual data. For synchronous communication the error checking usually uses bytes at the end of a frame. == See also ==
tickerdossier.comtickerdossier.substack.com