קוד שתיים-מתוך-חמש

מתוך ויקיפדיה, האנציקלופדיה החופשית

בתקשורת נתונים, קוד שתיים-מתוך-חמש הוא קידוד בינארי של מספרים עשרוניים, אשר בו:

  1. כל ספרה עשרונית מיוצגת על ידי רצף של חמש סיביות, אשר בדיוק שתיים מהן שווה לערך 1, ושלוש האחרות שוות לערך 0.
  2. בדרך כלל הסיביות ממושקלות (שוות ערך) על פי 0-1-2-3-6. עם זאת, כדי לשמור על הכלל הראשון, הספרה העשרונית אפס מקודדת כ"01100"; במובן הצר, המישקול לעיל 0-1-2-3-6 מהווה רק עזר זיכרון ולא חלק מהמבנה הממשי של הקוד.

המרחק המינימלי בין מילות הקוד הוא 2, כלומר כל שתי מילים שונות זו מזו בלפחות שתי סיביות ולכן הקוד מסוגל לזהות שגיאה אחת, אך לא לתקן אותה.

שימוש בדואר האמריקאי[עריכת קוד מקור | עריכה]

ברקוד של Postnet והספרות המתאימות לברקוד

הברקוד "POSTNET" של שירות הדואר האמריקאי משתמש בקוד שתיים-מתוך-חמש כאשר הערך 1 מיוצג על ידי קווים ארוכים, וקווים קצרים מייצגים את הערך 0. ברקוד זה משמש לייצוג המיקוד הפנים-ארצי לציוד מיון וניתוב דואר אוטומטי. במקרה הזה, הסיביות ממושקלות בצורה מעט שונה: 0-1-2-4-7. כמו כן, האפס מקודד כ"11000" בינארי.

שימוש במחשבי IBM[עריכת קוד מקור | עריכה]

המחשבים IBM 7070,‏ IBM 7072 ו-IBM 7074, שייצורם החל בשנת 1958, השתמשו אף הם בקוד שתיים-מתוך-חמש. הסיביות לא היו ממושקלות, ומוספרו רק לצורך סידורן: 0-1-2-3-4. לכל מילת מידע יכולה להיות מסומנת ב"סימנים" פלוס ומינוס עבור מילת מידע שמייצגת מספר, או A כדי לציין שמדובר במילה שמערבת ספרות וסימנים. "סימן" זה יוצג בעזרת הסיביות במקומות 0,3 ו-4 בלבד.

מימושים שונים של הקידוד[עריכת קוד מקור | עריכה]

הטבלה הבאה מציגה את הקידודים של הספרות 0-9 בווריאציות שונות של קוד שתיים-מתוך-חמש.

ספרה/סימן תקשורת נתונים
01236
דואר ארצות הברית
74210
IBM 7070, 7072, 7074
01234
0 01100 11000 01100
1 11000 00011 11000
2 10100 00101 10100
3 10010 00110 10010
4 01010 01001 01010
5 00110 01010 00110
6 10001 01100 10001
7 01001 10001 01001
8 00101 10010 00101
9 00011 10100 00011
A N/A N/A 1––10
- N/A N/A 1––01
+ N/A N/A 0––11