תחי ישראל - אין לנו ארץ אחרת

תחי ישראל -אין לנו ארץ אחרת

מהם מספרים בינאריים וכיצד להמיר מספרים מייצוג עשרוני לבינארי והפוך

מחבר:
בתאריך:

מערכת מספרים היא דרך לייצוג מספרים באמצעות סמלים. מערכת המספרים הנפוצה ביותר היא השיטה העשרונית, המשתמשת בסמלים 0-9. מחשבים, לעומת זאת, משתמשים במערכת המספרים הבינארית, בה יש שני סמלים בלבד: 0 ו-1.

היחידה הבסיסית בייצוג הבינארי היא ספרה הנקראת "ביט", קיצור של "binary digit". לביט יכול להיות אחד משני ערכים: 0 או 1.

Binary code uses one of two digits 0 or 1. Each digit in a binary code is a bit. Bit is the basic unit of binary code.

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

המרת מספרים עשרוניים למספרים בינאריים

  • את הספרה 0 העשרונית נמיר לייצוג בינארי של 0.
  • את הספרה 1 העשרונית נמיר ל-1.

נשתמש בשיטת החלוקה להמרת ייצוג מספר מעשרוני לבינארי.

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

לדוגמה, כדי להמיר 2 לבינארי:

2 / 2 = 1 R 0
1 / 2 = 0 R 1
  • הייצוג הבינארי של 2 הוא 10

במילים:

  1. חלוקה של 2 ב-2 שווה 1 עם שארית 0.
  2. חלוקה של 1 ב-2 נותנת 0 עם שארית 1.

הייצוג הבינארי הוא שאריות החלוקה בסדר הפוך ולפיכך 10.

דוגמה נוספת המרת המספר 13 לבינארי:

13 / 2 = 6 R 1
6 / 2 = 3 R 0
3 / 2 = 1 R 1
1 / 2 = 0 R 1
  • הייצוג הבינארי של 13 הוא 1101

 

המרת מספרים בינאריים למספרים עשרוניים

כדי להמיר מספר מייצוג בינארי לעשרוני נעקוב אחר השלבים הבאים:

  1. מתחילים מימין: מתחילים מהספרה הימנית ביותר של המספר הבינארי.
  2. מקצים חזקות של 2: מתחילים עם חזקות עולות של 2 לכל ספרה מימין לשמאל. מתחילים עם 20 עבור הספרה הימנית ביותר ומגדילים את החזקה ב-1 ככל שמתקדמים לשמאל (21, 22, 23 וכן הלאה).
  3. מכפילים וסוכמים: עבור כל ספרה, מכפילים אותה בחזקה המתאימה של 2 ומוסיפים את התוצאה לסכום מצטבר.
  4. ממשיכים שמאלה: חוזרים על שלבים 2 ו-3 עבור כל ספרה ככל שמתקדמים מימין לשמאל.

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

לדוגמה, המרת המספר הבינארי 1101 לעשרוני.

  1. התחל מימין עם הספרה 1.

  2. הקצה חזקות של 2 מימין לשמאל: 20, 21, 22 ו-23.

  3. הכפל וסכום:

    1 * 20 = 1
    0 * 21 = 0
    1 * 22 = 4
    1 * 23 = 8
  4. הוסף את התוצאות: 1 + 0 + 4 + 8 = 13.

  5. הסכום הכולל, 13, הוא הייצוג העשרוני של המספר הבינארי 1101

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

דוגמה נוספת: המרת המספר 11100 לייצוגו העשרוני.

0 * 20 = 0
0 * 21 = 0
1 * 22 = 4
1 * 23 = 8
1 * 24 = 16

0 + 0 + 4 + 8 + 16 = 28

 

הספרה המשמעותית ביותר (MSB) והכי פחות משמעותית (LSB)

הספרה המשמעותית ביותר (Most Significant Bit - MSB) היא הביט השמאלי ביותר בייצוג הבינארי של מספר.

לדוגמה:

  • במספר הבינארי 1000, הספרה 1 היא המשמעותית ביותר (MSB).

הספרה הכי פחות משמעותית (Least Significant Bit - LSB) היא הביט הימני ביותר.

לדוגמה:

  • במספר הבינארי 1110, הספרה 0 היא הכי פחות משמעותית (LSB).

 

מספרים signed ו-unsigned

בתכנות מבחינים בין מספרים שהם signed ו-unsigned. בעוד signed יכולים לייצג ערכים חיוביים או שליליים unsigned יכולים לייצג רק ערכים שאינם שליליים (0 וחיוביים).

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

לדוגמה בייצוג של 8 ביטים:

  • 01111111 מייצג את המספר 127
  • 10000000 מייצג את המספר -128

האלוגריתם מבוסס על שיטת Two's complement לצורך חישוב מספרים שהם Signed.

כך השיטה עובדת עבור המספרים לעיל:

Bits: 0 1 1 1 1 1 1 1
Decimal bit value: 128 64 32 16 8 4 2 1
Binary calculation: (0×27) (1×26) (0×25) (1×24) (1×23) (1×22) (1×21) (1×20)

Sum decimal = 64 + 32 + 16 + 8 + 4 + 2 + 1 = 127

Bits: 1 0 0 0 0 0 0 0
Decimal bit value: 128 64 32 16 8 4 2 1
Binary calculation: (1×27) (0×26) (0×25) (0×24) (0×23) (0×22) (0×21) (0×20)

Sum decimal = -128

תהליך החישוב עבור הייצוג הבינארי של מספר signed שלילי עובד ב-3 שלבים:

  1. המרה לייצוג בינארי.
  2. היפוך כל אחד מהביטים (0 ל-1 והפוך).
  3. הוספת 1 למספר כולו.

נדגים על ידי מציאת הייצוג הבינארי של -7 המיוצג על ידי 4 ביטים:

  1. המרה לייצוג בינארי:
    bin(7) = 0111
  2. היפוך כל אחד מהביטים:
    ~bin(7) = 1000
  3. הוספת 1 למספר כולו:
    ~bin(7) + 1 = 1001

נוודא את החישוב:

Bits: 1 0 0 1
Decimal bit value: 8 4 2 1
Binary calculation: (1×23) (0×22) (0×21) (1×20)

Sum decimal = -8 + 1 = -7

  • בניגוד לשיטות אחרות לייצוג מספרים שהם signed, שיטת ה-two's complement משתמשת באותם פעולות חשבון עבור חיבור, חיסור וכפל כמו עבור מספרים שהם unsigned.

 

שימושים בקוד בינארי

בנוסף למספרים, ניתן להשתמש בקוד בינארי לייצוג טקסט ונתונים אחרים. סכימות קידוד שונות, כמו ASCII ו-Unicode, מקצות קודים בינאריים ייחודיים לתווים וסמלים. לדוגמה, קוד ASCII עבור האות 'A' הוא 01000001 בבינארי.

קוד בינארי משמש גם לייצוג ולתפעול ערכים בוליאניים (אמת או שקר) ולביצוע פעולות לוגיות כמו AND, OR ו- NOT. עניין מהותי בתכנות מחשבים ועיצוב מעגלים דיגיטליים.

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

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

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

 

מדריכים נוספים שעשויים לעניין אותך

עבודה עם מספרים בינאריים ואופרציות Bitwise בפייתון

כיצד עובדת רשת האינטרנט?

מה זה זיכרון heap ערימה וזיכרון stack מחסנית

מה זה REST API?

 

לכל המדריכים בסדרת כישורי מחשב באתר רשתטק

 

אהבתם? לא אהבתם? דרגו!

0 הצבעות, ממוצע 0 מתוך 5 כוכבים

 

 

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

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

שימו לב! הסקריפטים במדריכים מיועדים למטרות לימוד בלבד. כשאתם עובדים על הפרויקטים שלכם אתם צריכים להשתמש בספריות וסביבות פיתוח מוכחות, מהירות ובטוחות.

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

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

הוסף תגובה חדשה

 

 

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

דג למים הוא כמו ציפור ל...?