Нібл () — чотирибітне утворення, або половина октету. Від того, що нібл містить 4 біти, він може містити шістнадцять (24) можливих значень, отже нібл відповідає одній шістнадцятковій цифрі (тому його часто згадують як «шістнадцяткову цифру» ()).

Одне з перших відомих використань терміна «нібл» відбулось 1977 в Citibank, що створила до-ISO 8583 стандарт для транзакційних повідомлень між банкоматами та інформаційним центром, в якому нібл був основною одиницею даних.

Повний байт (октет) представляється двома шістнадцятковими цифрами; отже, зазвичай байт можна представити як пару ніблів. У царині комп'ютерних мереж і телекомунікацій нібл часто називають напівоктетом або квартетом. Іноді набір всіх 256 значень байта зображують у вигляді таблиці 16*16, з якої легко видно шістнадцяткові коди для кожного значення.

Термін «нібл» походить з того, що в англійській термін «byte» є омофоном для слова «bite», а саме слово «bite» означає кусати, в той час як «nibble» - гризти, тобто трошки кусати. Альтернативна вимова «nybble» походить від «byte».

Нібл використовується для опису кількості пам'яті необхідної для збереження однієї цифри в двійково-десятковому коді. Цей підхід використовується з метою пришвидшити обчислення і полегшити зневадження. Байт з 8 бітів ділиться навпіл і в кожному ніблі зберігається одна цифра. Останній нібл змінної відводиться під знак. Таким чином, змінну, яка може зберігати до 9 цифр можна упакувати в 5 байтів. Полегшення зневадження відбувається через легкість читання чисел у шістнадцятковому вигляді пам'яті, де дві шістнадцяткових цифри використовуються для представлення значення байта, бо 16×16 = 28.

Історично, траплялись випадки, коли термін «нібл» використовувався для набору з менше ніж 8 бітів, але необов'язково 4. У лінії мікрокомп'ютерів Apple II, велика частина управління приводом диска була реалізована на програмному рівні. Запис даних на диск відбувався перетворенням 256-байтних сторінок в набори з 5-бітових або, пізніше, 6-бітових ніблів; Завантаження даних з диску вимагало зворотної дії. Зауважте, що термін «байт» також має неоднозначність; свого часу, байт значив набір з необов'язково 8 бітів. Сьогодні, терміни «байт» і «біт» здебільшого вказують на 8-, та 1-бітові набори, і дуже рідко використовуються для інших розмірів. Термін «напівнібл» використовується для вказання на 2 біти.

Шістнадцять ніблів та їх відповідники в інших системах числення:

0hex = 0dec = 0oct 0000 1hex = 1dec = 1oct 0001 2hex = 2dec = 2oct 0010 3hex = 3dec = 3oct 0011 4hex = 4dec = 4oct 0100 5hex = 5dec = 5oct 0101 6hex = 6dec = 6oct 0110 7hex = 7dec = 7oct 0111 8hex = 8dec = 10oct 1000 9hex = 9dec = 11oct 1001 Ahex = 10dec = 12oct 1010 Bhex = 11dec = 13oct 1011 Chex = 12dec = 14oct 1100 Dhex = 13dec = 15oct 1101 Ehex = 14dec = 16oct 1110 Fhex = 15dec = 17oct 1111

Добування нібла із байта Мовою C: #define HINIBBLE(b) (((b) >> 4) & 0x0F) #define LONIBBLE(b) ((b) & 0x0F) де b має бути змінною або сталою цілочисельного типу (або signed, або unsigned). (Звісно, якщо b за розміром більше ніж байт, тільки один байт (молодший) буде використовуватися). Наприклад, HINIBBLE(0xAB)==0xA і LONIBBLE(0xAB)==0xB.

Мовою Common Lisp: (defun hi-nibble (b) (ldb (byte 4 4) b)) (defun lo-nibble (b) (ldb (byte 4 0) b))

Див. також Двійкова система числення Машинне слово

Примітки