מהו ממיר קוד: קוד בינארי לאפור & קוד אפור להמרה בינארית

נסה את הכלי שלנו לביטול בעיות





במחשבים עלינו להמיר בינארי לאפור ואפור לבינארי. ההמרה של זה יכולה להיעשות על ידי שימוש בשני כללים שהם המרה בינארית לאפור ואפור להמרה בינארית. בהמרה הראשונה, ה- MSB של הקוד האפור שווה כל הזמן ל- MSB של הקוד הבינארי. סיביות נוספות מפלט הקוד האפור יכולות להגיע באמצעות מושג השער הלוגי EX-OR לקודים הבינאריים באותו אינדקס הנוכחי כמו גם לאינדקס הקודם. כאן MSB אינו אלא החלק המשמעותי ביותר. בהמרה הראשונה ה- MSB של הקוד הבינארי שווה כל הזמן ל- MSB של הקוד הבינארי המסוים. סיביות נוספות מפלט הקוד הבינארי יכולות להתקבל באמצעות ה- EX-OR שער ההיגיון מושג על ידי אימות קודים אפורים באינדקס הנוכחי. אם ביט הקוד האפור הנוכחי הוא אפס, לאחר מכן העתק קוד בינארי קודם, כמו גם העתק הפוך מקוד קוד בינארי קודם. מאמר זה דן בסקירה כללית של ממירי קוד הכוללים ממיר קוד בינארי לאפור וכן ממיר קוד אפור לבינארי.

מהו קוד בינארי?

במחשבים דיגיטליים, הקוד המשמש על בסיס מערכת מספרים בינאריים מכונה קוד בינארי. ישנם שני מצבים אפשריים כמו ON & OFF המיוצגים דרך 0 & 1. המערכת הדיגיטלית משתמשת בעשר ספרות כאשר כל מיקום של ספרה מסמל את הכוח של 10. במערכת בינארית, כל מיקום של ספרה מייצג כוח של 2.




אות קוד בינארי כולל רצף של פולסים חשמליים המסמנים תווים, מספרים ופעולות שיש לבצע. מכשיר שעון משמש להעברת פולסים רגילים, כמו גם רכיבים כמו טרנזיסטורים, הפעלה / כיבוי כדי לזרום אחרת חוסמת את האותות. בקוד בינארי ניתן לסמן כל מספר עשרוני בין 0 ל 9 באמצעות קבוצה של 4 סיביות / ספרות בינאריות. ניתן לצמצם את 4 פעולות החשבון הבסיסיות כמו חיבור, חיסור, כפל וחילוק לשילובים של פונקציות אלגבריות בוליאניות בסיסיות במספרים בינאריים.

מהו הקוד האפור?

הקוד האפור או RBC (קוד בינארי משתקף), או קוד מחזורי הוא סדרה של מערכות מספרים בינאריות. הסיבה העיקרית לכינוי קוד בינארי משתקף זה היא ערכי N / 2 הראשוניים הם בסדר הפוך, בהשוואה לערכי N / 2 האחרונים. בסוג זה של קוד, שני הערכים העוקבים משתנים באמצעות סיבית בודדת של ספרות בינאריות. קודים אלה משמשים בעיקר בסדרה הנפוצה של מספרים בינאריים שנוצרו על ידי חומרה.



המספרים הבינאריים עלולים לגרום לשגיאות ברגע שהמעבר נעשה ממספר יחיד לרציף. סוג זה של קוד בעצם פותר את הבעיה על ידי שינוי סיבית אחת בלבד לאחר שהשינוי בין המספרים נעשה.

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


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

ממיר קוד בינארי לאפור

קוד בינארי הוא ייצוג פשוט מאוד של נתונים המשתמש בשני ערכים כגון 0 ו- 1, והוא משמש בעיקר בעולם המחשב. הקוד הבינארי יכול להיות ערך גבוה (1) או נמוך (0) או אפילו שינוי בערך. קוד אפור או קוד בינארי משתקף מעריך את אופי הקוד הבינארי שמסודר עם מחווני הפעלה וכיבוי, המסומנים בדרך כלל עם אחד ואפס. קודים אלה משמשים לבחינת בהירות כמו גם לשינוי שגיאות בינארי תקשורת .

ההמרה של קוד בינארי לקוד אפור יכולה להיעשות באמצעות a מעגל לוגי . הקוד האפור הוא קוד שאינו משוקלל מכיוון שאין משקל מסוים המיועד למיקום הסיבית. ניתן להשיג קוד n-bit על ידי שכפול קוד n-1 bit על ציר שאחרי השורות של 2n-1, כמו גם הצבת הסיבית המשמעותית ביותר של 0 מעל הציר עם הסיבית המשמעותית ביותר של 1 מתחת לציר. שלב אחר שלב יצירת קוד אפור מוצג להלן.

מעגל לוגי להמרת קוד בינארי לאפור

מעגל לוגי להמרת קוד בינארי לאפור

שיטה זו משתמשת בשער Ex-OR כדי לבצע בין הסיביות הבינאריות. הדוגמה הטובה הבאה תהיה שימושית מאוד להכרת ההמרה של בינארי לאפור. בשיטת המרה זו, הסר את סיבית ה- MSB של המספר הבינארי הנוכחי, שכן הסיבית הראשית או סיבית ה- MSB של מספר הקוד האפור דומה למספר הבינארי.

כדי לקבל את הסיביות המקודדות בצבע אפור ישר להפקת הספרה המקודדת האפורה המתאימה עבור הספרות הבינאריות הנתונות, הוסף את הספרה הראשית או את הספרה MSB של המספר הבינארי לכיוון הספרה השנייה ורשום את המוצר לצד הסיבית הראשית של הקוד האפור, הוסף את הסיביות הבינארית הבאה לסיבית השלישית ואז רשום את המוצר לצד ה- 2נדקצת קוד אפור. באופן דומה, עקוב אחר הליך זה עד הסיבית הבינארית הסופית וכן ציין את התוצאות בהתאם פעולת לוגיקה EX-OR כדי ליצור את הספרות הבינאריות המקודדות באפור.

דוגמה לממיר קוד בינארי לאפור

נניח שהספרות של הקוד הבינארי יהיו bo, b1, b2, b3 ואילו ניתן להשיג את הקוד האפור המסוים על סמך הרעיון הבא.

דוגמה להמרת קוד

דוגמה להמרת קוד

מהפעולה הנ'ל, סוף סוף אנו יכולים לקבל את הערכים האפורים כמו g3 = b3, g2 = b3 XOR b2, g1 = b2 XOR b1, g0 = b1 XOR b0.

דוגמה להמרה

דוגמה להמרה

לדוגמא קח את הערך הבינארי b3, b2, b1, b0 = 1101 ומצא את הקוד האפור g3, g2, g1, g0 בהתבסס על הרעיון שלעיל

g3 = b3 = 1

g2 = b3 XOR b2 = 1 XOR 1 = 0

g1 = b2 XOR b1 = 1 XOR 0 = 1

g0 = b1 XOR b0 = 0 XOR 1 = 1

הקוד האפור הסופי לערך בינארי 1101 הוא 1011

טבלת ממיר קוד בינארי לאפור

מספר עשרוני

קוד בינארי

קוד אפור

0

00000000
10001

0001

שתיים

0010

0011

3

00110010

4

0100

0110

50101

0111

6

01100101
70111

0100

8

10001100

9

1001

1101

101010

1111

אחת עשרה

1011

1110

12

11001010

13

1101

1011

141110

1001

חֲמֵשׁ עֶשׂרֵה1111

1000

קוד VHDL להמרת קוד בינארי לאפור מובא להלן.

ספריה ieee
השתמש ieee.std_logic_1164.ALL
ישות bin2gray היא
יציאה (bin: ב- std_logic_vector (3 עד 0) - קלט בינארי
G: out std_logic_vector (3 downto 0) - פלט קוד אפור
)
סוף bin2gray
שער אדריכלות_רמה של bin2gray הוא
התחל
–אושערים.
G (3)<= bin(3)
G (2)<= bin(3) xor bin(2)
G (1)<= bin(2) xor bin(1)
G (0)<= bin(1) xor bin(0)
סוֹף

יתרונות

ה יתרונות קוד בינארי כלול את הבאים.

  • היתרון העיקרי בשימוש בקוד בינארי הוא שהוא פשוט מסומן באמצעות מכשירים אלקטרוניים
  • נתונים בינאריים פשוטים מאוד לאחסון.
  • קל מאוד לסמן ולשלוט אלקטרונית ומכנית.
  • ניתן להגדיל את הפער בין ייצוגי סמלים כך שניתן יהיה לצמצם את אפשרות השגיאה.

ה חסרונות של קוד בינארי כלול את הבאים.

  • ניתן להגדיל את מספר הסמלים הנדרש כדי לסמן מספר נתון של מערכות ערך מיקום כולל.
  • בני אדם אינם יכולים לקרוא אותם בצורה יעילה במיוחד בגלל אורכם ושימוש במספר עשרה בסיסים כברירת מחדל
  • הוא משתמש בספרות רבות כדי לסמן כל מספר לוגי

יישומים

היישומים של קוד בינארי כוללים את הדברים הבאים.

  • משתמשים בקודים בינאריים בטלקומוניקציה וכן במחשוב לטכניקות שונות של קידוד נתונים כמו מחרוזות תווים למיתרי ביט. הרוחב המשמש בשיטות אלה הוא קבוע במחרוזות ברוחב משתנה אחרת.
  • זה משמש בשפות מחשב כמו גם בתכנות מכיוון ששפות המחשב תלויות בעיקר במערכות מספר דו ספרתיות.

ממיר קוד אפור לבינארי

שיטת המרה אפורה לבינארית זו משתמשת גם בתפיסת העבודה של שער ההיגיון EX-OR בין פיסות האפור כמו גם ביטים בינאריים. הדוגמה הבאה עם הליך שלב אחר שלב עשויה לעזור להכיר את מושג ההמרה של קוד אפור לקוד בינארי.

כדי לשנות אפור לקוד בינארי, הסר את ספרת MSB של מספר הקוד האפור, שכן הספרה הראשית או ה- MSB של הקוד האפור דומה לספרה הבינארית.

כדי לקבל את הסיביות הבינארית הבאה הבאה, היא משתמשת בפעולת XOR בין הסיביות הראשית או סיבית ה- MSB הסיבית לביט הבא של הקוד האפור.

מעגל לוגי להמרת קוד אפור לבינארי

מעגל לוגי להמרת קוד אפור לבינארי

באופן דומה, כדי לקבל את הסיביות הבינארית השלישית הישר, היא משתמשת בפעולת XOR בין הסיביות השנייה או סיביות ה- MSB הסיביות לבסיס ה- MSD השלישי של הקוד האפור וכן הלאה.

דוגמה לממיר קוד אפור לבינארי

הבה נניח את קוד אפור ספרות g3, g2, g1, g0 ואילו ניתן להשיג את הספרות של קוד בינארי מסוים bo, b1, b2, b3 על סמך הרעיון הבא.

דוגמה להמרה

דוגמה להמרה

מהפעולה הנ'ל, סוף סוף אנו יכולים לקבל את הערכים הבינאריים כמו b3 = g3, b2 = b3 XOR g2, b1 = b2 XOR g1, b0 = b1 XOR g0.

דוגמה להמרת קוד

דוגמה להמרת קוד

לדוגמא קח את הערך האפור g3, g2, g1, g0 = 0011 ומצא את הקוד הבינארי b3, b2, b1, b0 בהתבסס על הרעיון שלעיל

b3 = g3 = 0

b2 = b3 XOR g2 = 0 XOR 0 = 0

b1 = b2 XOR g1 = 0 XOR 1 = 1

b0 = b1 XOR g0 = 1 XOR 1 = 0

הקוד הבינארי הסופי לערך האפור 0011 הוא 0010

טבלת ממיר אפור לקוד בינארי

מספר עשרוני קוד אפור

קוד בינארי

0

00000000

1

0001

0001

שתיים0010

0010

3

00110011

4

0110

0100

50111

0101

6

01010110
70100

0111

8

11001000
91101

1001

10

11111010
אחת עשרה1110

1011

12

10101100
131011

1101

14

10011110
חֲמֵשׁ עֶשׂרֵה1000

1111

יתרונות

ה היתרונות של קוד אפור כלול את הבאים.

  • ניתן לצמצם את מעגל ההיגיון
  • משמש בחציית תחום השעון
  • משמש למזעור השגיאה בעת שינוי האותות מאנלוגי לדיגיטלי
  • ברגע שמשתמשים בו באלגוריתמים גנטיים, ניתן לצמצם את התרחשות הקיר.

חסרונות

החסרונות של קוד אפור כוללים את הדברים הבאים.

  • לא מתאים לפונקציות חשבון
  • ניתן ליישומים מעטים

יישומים

היישומים של קוד אפור כוללים את הדברים הבאים.

  • הוא משמש בממירים אנלוגיים לדיגיטליים
  • בתקשורת דיגיטלית לתיקון שגיאה
  • זה מפחית שגיאות בזמן שינוי האותות מאנלוגי לדיגיטלי.
  • חידות מתמטיות
  • מזעור מעגל בוליאני
  • הוא משמש לתקשורת בין שני תחומי שעון
  • אלגוריתמים גנטיים
  • מקודדי מיקום

קוד VHDL לקוד אפור להמרה בינארית מובא להלן.

ספריה ieee
השתמש ieee.std_logic_1164.ALL
ישות grey2bin היא
יציאה (G: בקובץ std_logic_vector (3 עד 0) - קלט קוד אפור
bin: out std_logic_vector (3 downto 0) - פלט בינארי
)
סוף grey2bin
אדריכלות שער_רמה של אפור 2 הוא
התחל
–אושערים.
אני (3)<= G(3)
אני (2)<= G(3) xor G(2)
אני (1)<= G(3) xor G(2) xor G(1)
am (0)<= G(3) xor G(2) xor G(1) xor G(0)
סוֹף

ממיר קוד בינארי לאפור 3 ביט

נניח את הספרות הבינאריות במספר בינארי בן 3 סיביות כמו b0, b1, b2, בכל מקום בו ביט 'b2' הוא ה- MSB (הסיב המשמעותי ביותר) וסיבית 'b0' הוא ה- LSB (הסיב הכי פחות משמעותי) של בינארי. הספרות של קוד אפור הן g0, g1, g2, בכל מקום שספרת 'g2' היא ה- MSB (הסיבית המשמעותית ביותר) ואילו הספרה 'g0' היא ה- LSB (הסיבית הכי פחות משמעותית) של הקוד האפור.

קוד בינארי - b2, b1, b0

קוד אפור - g2, g1, g0

000

000
001

001

010

011
011

010

100

110
101

111

110

101

111

100

לפיכך, ניתן לפתור את הביטוי הבוליאני עבור ממיר קוד בינארי לאפור באמצעות k-map, אנו יכולים לקבל g2 = b2, g1 = b1⊕ b2 & g0 = b0 ⊕ b1. כמו כן, אנו יכולים לשנות מספר בינארי של n-bit (bnb (n-1) ... b2 b1 b0) לקוד אפור (gng (n-1) ... g2 g1 g0).

עבור LSB (קצת פחות משמעותי)

g0 = b0⊕b1

g1 = b1⊕b2

g2 = b1⊕b2

g (n-1) = b (n-1) ⊕ bn, gn = bn.

לדוגמה, המירו 111010 מספרים בינאריים לקוד אפור.

אז על סמך האלגוריתם הנ'ל,

g0 = b0 ⊕ b1 => 0 ⊕ 1 = 1

g1 = b1 ⊕ b2 = 1 ⊕ 0 = 1

g2 = b2 ⊕ b3 = 0 ⊕1 = 1

g3 = b3 ⊕ b4 = 1⊕1 = 0

g4 = b4 ⊕ b5 = 1 ⊕ 1 = 0

g5 = b5 = 1 = 1

אז ההמרה של קוד בינארי לקוד אפור תהיה - 100111.

ממיר קוד בינארי לאפור באמצעות IC 7486

ההמרה של בינארי לאפור ואפור לבינארי יכולה להתבצע באמצעות IC7486. הרכיבים הדרושים לייצור זה הם לוח לחם, חוטי חיבור, נוריות LED, נגדים, XOR (IC7486), מתגי כפתור וסוללה לאספקת החשמל.

החבילה של IC7486 כוללת בעיקר ארבעה שערי לוגיקה של XOR, כאשר הפינים 7 ו -14 יספקו אספקה ​​לכל שערי הלוגיקה. ה- o / ps של שער XOR יחיד מחובר לקלט של שער ההיגיון האחר בתוך אותו שבב או אחר עד שהם חולקים מסוף קרקע דומה.

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