קוד גריי
מתוך ויקיפדיה, האנציקלופדיה החופשית
קוד גריי הוא שיטה לקידוד מספרים באופן בינארי. קוד גריי הוא קוד מראה. לדוגמה,
עשרוני גריי 0 000 1 001 2 011 3 010 4 110 5 111 6 101 7 100
כפי שניתן לראות, הקוד של 2 ו־3 הוא היפוך הסדר של הקוד של 0 ו־1, בהוספת הסיבית 1 משמאל. באותו אופן, הקוד של 4 עד 7 הוא היפוך הקוד של 0 עד 3, בהוספת 1 משמאל (והצבת אפסים בספרות החסרות). באופן זה, ניתן להמשיך ולבנות את הקוד. הקוד עבור 8 יהיה 1100, והקוד עבור 15 יהיה 1000. על מנת להפוך מספר בינארי לקוד גריי נתחיל משמאל הספרה הראשונה היא כמובן 1 נעתיק אותה עכשיו נביט בסיפרה הסמוכה לה אם זו היא סיפרה זהה נרשום מימין ל1 שהעתקנו -0 אם היא שונה נסמן 1 כך: לדוגמה 100110 תחילה נעתיק את הראשונה 1 יש שוני בין שתי הספרות-1,0 ולכן נרשום 1- 11 אין שוני בין שתי הספרות-0,0 ולכן נרשום 0- 110 יש שוני בין שתי הספרות-0,1 ולכן נרשום 1- 1101 אין שוני בין שתי הספרות-1,1 ולכן נרשום 0- 11010 יש שוני בין שתי הספרות-1,0 ולכן נרשום -1 110101.
על מנת לבצע את הפעולה ההפוכה (להפוך מיצוג של קוד גריי למספר בינארי) צריך להתחיל מהספרה הימנית ביותר ולספור את מספר האחדות הנמצאים משמאלה, אם יש מספר זוגי של אחדות מעתיקים את הספרה ואם יש מספר אי זוגי הופכים. לדוגמה נקח את המספר 110 (4) ונסתכל מהספרה הימנית נראה שיש מספר זוגי (2) של אחדות ולכן נעתיק 0. נמשיך לספרה הבאה ונראה שמימינה יש רק ספרת 1 בודדה ולכן נהפוך אותה ל-0. את הספרה האחרונה פשוט מעתיקים לכן יצא לנו 100 שזהו 4 ביצוג בינארי.
אחד היתרונות של קוד גריי הוא בתיקון שגיאות בתקשורת נתונים. מכיוון שכל ספרה נבדלת מהקודמת לה ומהעוקבת שלה בסיבית אחת בלבד, קל לזהות שיבוש בקידוד. תכונה זו של הקוד גם מאפשרת להשתמש בו במפת קרנו (טכניקה ליצירת מעגל סיפרתי המממש פונקציה לוגית).