نايبل

في لغة الكمبيوتر، النايبل (وغالبا تكتب nibble أو nyble لتحاكي هجاء كلمة byte) هي تجمع من أربعة بت، أو نصف أوكتيتي. ونظرا لأن النايبل تتضمن 4 بت (Bit 4)، فبالتالي يكون لدينا 16 قيمة ممكنة (24)، لذا فإن النايبل تتطابق مع الأرقام العشرية ذات الستة أعداد (لذلك يشار إليها عادة على أنها «ستة أرقام» أو «هيكسيت»).

ومن استخدامات مصطلح النايبل في السابق كان عام 1977 في مجموعة تكنولوجيا التعامل البنكي مع العميل في سيتي بنك حيث نشأ هناك معيار ما قبل الأيزو 8583 للرسائل الخاصة بالمعاملات بين آلات النقود ومراكز بيانات سيتي بنك، حيث كانت النايبل وحدة المعلومات الرئيسية.

يتم تمثيل البايت الكامل (الأوكتيت) برقمين سداسيين عشريين، لذلك فكان من الشائع عرض بايت (8 بت) من المعلومات في هيئة اثنان من النايبل. وتعرف النايبل يضا باسم «نصف أوكتيت semioctet» أو «الرباعية quartet» في بيئة عمل الشبكات أو الاتصالات. في بعض الأحيان يتم تمثيل مجموعة قيم مكونة من 256 بايت بجدول 16×16 الذي يوضح شفرة|شفرات سداسية عشرية قابلة للقراءة لكل قيمة.

وقد نشأ مصطلح «نايبل» من حقيقة أن المصطلح «بايت» ذو لفظة متجانسة مع الكلمة الإنجليزية " bit ". والنايبل عبارة عن بايت صغير، والذي توضح في هذا السياق على أنها «نصف بايت». والتهجئة البديلة لهذه الكلمة "nibble" تعادل تهجئة كلمة "byte" وقد تم الإشارة إلى هذا الأمر في افتتاحية مجلة كيلوباود وبايت Kilobaud and Byte في بداية الثمانينات.

وتستخدم كلمة نايبل لوصف كم الذاكرة المستخدم لتخزين رقم من عدد مخزن في صيغة عشرية جمعية في الإطار الرئيسي لآي بي إم IBM. تستخدم هذه التقنية في جعل العمليات الحسابية أسرع وتصحيح الأخطاء بصورة أسهل. يتم تقسيم البايت ذو الثماني أجزاء إلى النصف وتستخدم كل نايبل لتخزين رقم واحد. آخر نايبل للمتغير يتم الاحتفاظ به من أجل الإشارة. ومن ثم فإن المتغير الذي يمكنه تخزين ما يصل إلى تسع أرقام سيتم «جمعه» في خمسة بايت. وقد نتجت سهولة تصحيح الأخطاء من قابلية الأرقام للقراءة في مجموعة من ستة أرقام hex dump يمكن من خلالها استخدام رقمين سداسيين لتمثيل قيمة البايت، مثل 16×16 = 28.

وعلى مر التاريخ، صادفنا الكثير من الحالات التي تم فيها استخدام مصطلح نايبل ليعبر عن مجوعة من الأجزاء الرقمية الأقل من ثمانية، والتي لم تكن بالضرورة أربعة. في خط الكمبيوتر المصغر أبل 2 Apple II Microcomputer Line، كان يتم التحكم في معظم مشغلات الأسطوانات عبر البرنامج. كتابة البيانات على القرص كانت تتم عبر تحويل صفحة حجمها 256 بايت إلى مجموعات من النايبل ذات الخمس أجزاء ولاحقا من ستة أجزاء، وكان تحميل البيانات من القرص يتطلب العكس. لاحظ أيضا أن مصطلح «بايت» يحيط به نفس الغموض، ففي وقت ما تعني بايت مجموعة من الأجزاء والتي ليس بالضرورة أن تكون ثمانية. أما اليوم فإن المصطلح «بايت» والمصطلح «نايبل» يشيران إلى مجموعات من 8 أجزاء وأربعة أجزاء على التوالي وغالبا ما لا تستخدم لأي أحجام أخرى. مصطلح «نصف نايبل» (أو "quartyr") يستخدم ليشير إلى مجموعة من جزأين أو نصف نايبل.

الستة عشر نايبل وما يكافئها في الأنظمة الرقمية الأخرى:

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

 استخراج نايبل من البايت 
في لغة البرمجة السي:

#define HINIBBLE(b) (((b) >> 4) & 0x0F)
#define LONIBBLE(b) ((b) & 0x0F)

حيث b يجب أن تكون متغيرا اوثابتا من نمط بيانات عدد صحيح (سواء بإشارة أو بدون إشارة). (بالطبع إذا كانت b ذات حجم أكثر من بايت واحد، سيتم أخذ بايت واحد فقط في الاعتبار).

على سبيل المثال:

HINIBBLE(0xAB)==0xA and LONIBBLE(0xAB)==0xB.

 المراجع 

 وصلات خارجية 
 Computer Math Forum
 Apple Assembly Line, May 1981, Volume 1, Number 8

تصنيف:مصطلحات حوسبة
تصنيف:وحدات قياس للمعلومات
تصنيف:وحدة البيانات