نايبل

ملف:Disambig.svg هذه المقالة تتحدث عن وحدة تخزين المعلومات. لاستخدامات أخرى، راجع نايبل (توضيح).
ملف:Octets in CP866 ordered by nibbles.png
جدول بالأشكال والأحرف مرتبة حسب لغة نايبل.

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

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

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

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

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

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

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

0hex == 0dec == 0oct 0 0 0 0
1hex == 1dec == 1oct 0 0 0 1
2hex = 2dec = 2oct 0 0 1 0
3hex == 3dec == 3oct 0 0 1 1
4hex = 4dec = 4oct 0 1 0 0
5hex == 5dec == 5oct 0 1 0 1
6hex = 6dec = 6oct 0 1 1 0
7hex == 7dec == 7oct 0 1 1 1
8hex == 8dec == 10oct 1 0 0 0
9hex = 9dec = 11oct 1 0 0 1
Ahex == 10dec == 12oct 1 0 1 0
Bhex == 11dec == 13oct 1 0 1 1
Chex == 12dec == 14oct 1 1 0 0
Dhex = 13dec = 15oct 1 1 0 1
Ehex = 14dec = 16oct 1 1 1 0
Fhex == 15dec == 17oct 1 1 1 1


استخراج نايبل من البايت

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

<source lang="c">

  1. define HINIBBLE(b) (((b) >> 4) & 0x0F)
  2. define LONIBBLE(b) ((b) & 0x0F)

</source>

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

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

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

أنظر أيضا

المراجع

  1. ^ Hall, D. V. (1980). Microprocessors and Digital Systems. McGraw-Hill. ISBN 0-07-025571-7. 

وصلات خارجية

قالب:Computer Storage Volumes

be-x-old:Нібл ca:Nibble cs:Nibble da:Nibble de:Nibble Nibble]] es:Nibble et:Näks fr:Nibble hu:Nibble ia:Nibble it:Nibble ja:ニブル kn:ನಿಬ್ಬಲ್ ko:니블 nl:Nibble pl:Półbajt pt:Nibble ru:Ниббл sk:Nibble sr:Нибл sv:Nibble uk:Нібл