Nibble 21150 221065856 2008-06-22T22:23:41Z 124.157.90.19 /* Trivia */ removed trivia section - there is nothing relevant in it {{otheruses}} [[Image:Octets in CP866 ordered by nibbles.png|192px|thumb|right|A character table ordered by nibbles.]] A '''nibble''' (often, '''nybble''') is the [[computing]] term for a four-[[bit]] aggregation<ref>{{cite book | last = Hall | first = D. V. | authorlink = | coauthors = | title = Microprocessors and Digital Systems | publisher = McGraw-Hill | date = 1980 | location = | pages = | url = | isbn = 0-07-025571-7 | id = }}</ref>, or half an [[octet (computing)|octet]] (an octet being an [[8-bit]] [[byte]]). As a nibble contains 4 bits, there are sixteen (2<sup>4</sup>) possible values, so a nibble corresponds to a single [[hexadecimal]] digit (thus, it is often referred to as a "[[hex digit]]" or "hexit"). A full byte ([[octet (computing)|octet]]) is represented by two hexadecimal digits; therefore, it is common to display a byte of information as two nibbles. The nibble is often called a "semioctet" or a "quartet" in a [[computer network|networking]] or [[telecommunication]] context. Sometimes the set of all [[256 (number)|256]] byte values is represented as a table [[16 (number)|16]]×16, which gives easily readable hexadecimal codes for each value. The term "nibble" originates from the fact that the term "byte" is a [[pun]] on the [[English (language)|English]] word "bite". A nibble is a small bite, which in this context is construed as "half a bite". The alternative spelling "nybble" parallels the spelling of "byte", as noted in editorials in [[Kilobaud Microcomputing|Kilobaud]] and [[Byte magazine|Byte]] in the early eighties.{{Fact|date=April 2007}} The nibble is used to describe the amount of memory used to store a digit of a number stored in [[binary-coded decimal|packed decimal format]] within an IBM mainframe. This technique is used to reduce space requirements, make computations faster, and make debugging easier. An 8-bit byte is split in half and each nibble is used to store one digit. The last nibble of the variable is reserved for the sign. Thus a variable which can store up to nine digits would be "packed" into 5 bytes. Ease of debugging resulted from the numbers being readable in a [[hex dump]] where two [[hexidecimal|hex]] numbers are used to represent the value of a byte, as 16&times;16 = 2<sup>8</sup>. Historically, there have been cases where the term "nybble" was used for a set of bits fewer than 8, but not necessarily 4. In the [[Apple II family|Apple II microcomputer line]], much of the disk drive control was implemented in software. Writing data to a disk was done by converting 256-byte pages into sets of 5-bit or, later, 6-bit nibbles; loading data from the disk required the reverse. Note that the term ''byte'' also had this ambiguity; at one time, ''byte'' meant a set of bits but not necessarily 8. Today, the terms "byte" and "nibble" generally refer to 8- and 4-bit collections, respectively, and are not often used for other sizes. The sixteen nibbles and their equivalents in other numeral systems: {| border="0" cellspacing="0" cellpadding="0" style="text-align:center;border:2px" |- style="background:black; height:2px" | style="background:black; width:2px" | || || || || || || || || || || || |-style="background:#F6A07C; color:black; height:24px" | style="background:black; width:2px" | || style="width:45px"|'''0'''<sub>hex</sub> || = || style="width:45px"|[[0 (number)|0<sub>dec</sub>]] || = || style="width:45px"|0<sub>oct</sub> ||style="background:black; width:2px" | || style="background:white;width:24px"|0|| style="background:white;width:24px"|0|| style="background:white;width:24px"|0|| style="background:white;width:24px"|0 ||style="background:black; width:2px" | |-style="background:#E3EDE9; color:black; height:24px" | style="background:black; width:2px" | || '''1'''<sub>hex</sub> || = || [[1 (number)|1<sub>dec</sub>]] || = || 1<sub>oct</sub> ||style="background:black; width:2px" | || style="background:white;width:24px"|0|| style="background:white;width:24px"|0|| style="background:white;width:24px"|0|| style="background:red;width:24px"|1||style="background:black; width:2px" | |-style="background:#E3EDE9; color:black; height:24px" | style="background:black; width:2px" | || '''2'''<sub>hex</sub> || = || [[2 (number)|2<sub>dec</sub>]] ||= || 2<sub>oct</sub> ||style="background:black; width:2px" | || style="background:white;width:24px"|0|| style="background:white;width:24px"|0|| style="background:red;width:24px"|1|| style="background:white;width:24px"|0||style="background:black; width:2px" | |-style="background:#FDC888; color:black; height:24px" | style="background:black; width:2px" | || '''3'''<sub>hex</sub> || = || [[3 (number)|3<sub>dec</sub>]] || = || 3<sub>oct</sub> ||style="background:black; width:2px" | || style="background:white;width:24px"|0|| style="background:white;width:24px"|0|| style="background:red;width:24px"|1|| style="background:red;width:24px"|1||style="background:black; width:2px" | |- style="background:black; height:2px" | style="background:black; width:2px" | || || || || || || || || || || || |-style="background:#E3EDE9; color:black; height:24px" | style="background:black; width:2px" | || '''4'''<sub>hex</sub> || = || [[4 (number)|4<sub>dec</sub>]] ||= || 4<sub>oct</sub> ||style="background:black; width:2px" | || style="background:white;width:24px"|0|| style="background:red;width:24px"|1|| style="background:white;width:24px"|0|| style="background:white;width:24px"|0||style="background:black; width:2px" | |-style="background:#FDC888; color:black; height:24px" | style="background:black; width:2px" | || '''5'''<sub>hex</sub> || = || [[5 (number)|5<sub>dec</sub>]] || = || 5<sub>oct</sub> ||style="background:black; width:2px" | || style="background:white;width:24px"|0|| style="background:red;width:24px"|1|| style="background:white;width:24px"|0|| style="background:red;width:24px"|1||style="background:black; width:2px" | |-style="background:#FEE978; color:black; height:24px" | style="background:black; width:2px" | || '''6'''<sub>hex</sub> || = || [[6 (number)|6<sub>dec</sub>]] ||= || 6<sub>oct</sub> ||style="background:black; width:2px" | || style="background:white;width:24px"|0|| style="background:red;width:24px"|1|| style="background:red;width:24px"|1|| style="background:white;width:24px"|0||style="background:black; width:2px" | |-style="background:#E3EDE9; color:black; height:24px" | style="background:black; width:2px" | ||'''7'''<sub>hex</sub> || = || [[7 (number)|7<sub>dec</sub>]] || = || 7<sub>oct</sub> ||style="background:black; width:2px" | || style="background:white;width:24px"|0|| style="background:red;width:24px"|1|| style="background:red;width:24px"|1|| style="background:red;width:24px"|1||style="background:black; width:2px" | |- style="background:black; height:2px" | style="background:black; width:2px" | || || || || || || || || || || || |-style="background:#E3EDE9; color:black; height:24px" | style="background:black; width:2px" | || '''8'''<sub>hex</sub> || = || [[8 (number)|8<sub>dec</sub>]] || = || 10<sub>oct</sub> ||style="background:black; width:2px" | || style="background:red;width:24px"|1|| style="background:white;width:24px"|0|| style="background:white;width:24px"|0|| style="background:white;width:24px"|0||style="background:black; width:2px" | |-style="background:#FEE978; color:black; height:24px" | style="background:black; width:2px" | || '''9'''<sub>hex</sub> || = || [[9 (number)|9<sub>dec</sub>]] ||= || 11<sub>oct</sub> ||style="background:black; width:2px" | || style="background:red;width:24px"|1|| style="background:white;width:24px"|0|| style="background:white;width:24px"|0|| style="background:red;width:24px"|1||style="background:black; width:2px" | |-style="background:#FDC888; color:black; height:24px" | style="background:black; width:2px" | || '''A'''<sub>hex</sub>|| = || [[10 (number)|10<sub>dec</sub>]] || = || 12<sub>oct</sub> ||style="background:black; width:2px" | || style="background:red;width:24px"|1|| style="background:white;width:24px"|0|| style="background:red;width:24px"|1|| style="background:white;width:24px"|0||style="background:black; width:2px" | |-style="background:#E3EDE9; color:black; height:24px" | style="background:black; width:2px" | || '''B'''<sub>hex</sub>|| = || [[11 (number)|11<sub>dec</sub>]] || = || 13<sub>oct</sub> ||style="background:black; width:2px" | || style="background:red;width:24px"|1|| style="background:white;width:24px"|0|| style="background:red;width:24px"|1|| style="background:red;width:24px"|1||style="background:black; width:2px" | |- style="background:black; height:2px" | style="background:black; width:2px" | || || || || || || || || || || || |-style="background:#FDC888; color:black; height:24px" | style="background:black; width:2px" | || '''C'''<sub>hex</sub>|| = || [[12 (number)|12<sub>dec</sub>]] || = || 14<sub>oct</sub> ||style="background:black; width:2px" | || style="background:red;width:24px"|1|| style="background:red;width:24px"|1|| style="background:white;width:24px"|0|| style="background:white;width:24px"|0||style="background:black; width:2px" | |-style="background:#E3EDE9; color:black; height:24px" | style="background:black; width:2px" | || '''D'''<sub>hex</sub>|| = || [[13 (number)|13<sub>dec</sub>]] ||= || 15<sub>oct</sub> ||style="background:black; width:2px" | || style="background:red;width:24px"|1|| style="background:red;width:24px"|1|| style="background:white;width:24px"|0|| style="background:red;width:24px"|1||style="background:black; width:2px" | |-style="background:#E3EDE9; color:black; height:24px" | style="background:black; width:2px" | || '''E'''<sub>hex</sub>|| = || [[14 (number)|14<sub>dec</sub>]] ||= || 16<sub>oct</sub> ||style="background:black; width:2px" | || style="background:red;width:24px"|1|| style="background:red;width:24px"|1|| style="background:red;width:24px"|1|| style="background:white;width:24px"|0||style="background:black; width:2px" | |-style="background:#F6A07C; color:black; height:24px" | style="background:black; width:2px" | || '''F'''<sub>hex</sub>|| = || [[15 (number)|15<sub>dec</sub>]] || = || 17<sub>oct</sub> ||style="background:black; width:2px" | || style="background:red;width:24px"|1|| style="background:red;width:24px"|1|| style="background:red;width:24px"|1|| style="background:red;width:24px"|1||style="background:black; width:2px" | |- style="background:black; height:2px" | style="background:black; width:2px" | || || || || || || || || || || || |} [[Image:Baops.gif|thumb|450px|Every nibble matches a [[logic gate]].]] == See also == *[[Binary numeral system]] *[[Computer word]] ==References== <references/> == External links == *[http://avr.15.forumer.com/index.php?showforum=11 Computer Math Forum] *[http://bobsc5.home.comcast.net/aal/1981/aal8105.html Apple Assembly Line, May 1981, Volume 1, Number 8] [[Category:Computing terminology]] [[be-x-old:Нібл]] [[cs:Nibble]] [[da:Nibble]] [[de:Nibble]] [[et:Näks]] [[es:Nibble]] [[fr:Nibble (informatique)]] [[ia:Nibble]] [[it:Nibble]] [[kn:ನಿಬ್ಬಲ್]] [[hu:Nibble]] [[nl:Nibble]] [[ja:ニブル]] [[pt:Nibble]] [[ru:Ниббл]] [[sk:Nibble]] [[sr:Нибл]] [[sv:Nibble]]