בסיסי ספירה – עשרוני, דצימלי, הקסה-דצימלי והמרות בין בסיסים

מספרים דצימליים, בינאריים, הקסה-דצימליים

אנו רגילים לכך שיש לנו 10 ספרות: 0 1 2 3 ... עד 9 ובאמצעות 10 ספרות אלו אנו מבטאים כמויות של מוצרים ודברים וכן מבצעים פעולות חישוב לספירה זו קוראים ספירה עשרונית (או Decimal – דצימלית).

עם זאת ניתן לספור גם עם בסיסי ספירות אחרות. ספירה על בסיס 16 – ספירה הקסה-דצימלית (Hex-Decimal), שבה משתמשים ב- 16 תווים. וכן ספירה על בסיס 2 - הבסיס הבינארי שבה משתמשים רק ב-2 ספרות.

ספירה בינארית – ספירה על בסיס 2

בסיס בינארי (בי=2) היא שיטת ספירה לפי בסיס 2. בייצוג זה קיימות רק שתי ספרות "0" ו- "1". 0 משמעותו שאין זרם – אין חשמל – כלומר אין. ו- 1 משמעותו שיש זרם -יש חשמל – כלומר יש.
על ידי 2 ספרות אלו אנו יכולים לכתוב כל מספר.
לדוגמא: 0 זה 0, 1 זה 1, ומה זה 2? – 10 כלומר 10 זה 2 בשפה שאנו רגילים עליה (שפה עשרונית או דצימלית).
כל ספרה בשפה הבינארית (0 או 1) נקראת סיבית (או באנגלית bit = ביט). כאשר יש לנו 8 סיביות אז אנו מדברים על בית (או באנגלית Byte = בייט). כמו כן בייט זה מכונה גם "אוקטטה" = octet ואלו האוקטטות המפורסמת שיש לנו בכתובת האייפי.
אנו צריכים לדעת לעבור ממספר הכתוב בספירה הבינארית לספירה העשרונית וכן להיפך.

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

על מנת להמיר ממספר בינארי למספר עשרוני עלינו לזכור בעל פה את הטבלה הבאה:

1 2 4 8 16 32 64 128

קל לזכור טבלה זו מכיוון שמתחילים ב-1 ואז מכפילים בכל פעם פי 2 עד שמגיעים ל- 128.
כעת עלינו להציב את המספר הבינארי בטבלה. בדרך כלל המספר הבינארי יבוא כ- 1 Byte (=8 ביטים).

לדוגמא אם נתון לנו המספר 10101001 כל שעלינו לעשות הוא להציב בטבלה (מתחת למספרים בשורה העליונה) כך:

1 2 4 8 16 32 64 128
1 0 0 1 0 1 0 1

בשלב הבא עלינו לחבר את המספר הנמצא מעל כל ה-"1"ים. [מכיוון ש-1 משמעותו – דלוק=פועל, ואילו 0 משמעותו כבוי=לא פועל].
אז נחבר: 128+32+8+1 = 169 וזה המספר בעשרוני.
כלומר המספר הארוך בתצוגה הבינארית: 10101001 הוא בעצם רק 169.

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

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

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

1 2 4 8 16 32 64 128

כעת, אנו מתחילים משמאל לימין ושואלים – "האם המספר 128 נכנס לתוך המספר הנתון = 158"? – אם התשובה היא "כן" אנו רושמים "1" מתוך ל-128

1 2 4 8 16 32 64 128
1

לאחר מכן אנו צריכים להפחית מהמספר הנתון 158 את המספר שכרגע סימנו מתחתיו 1 כלומר עושים 158-128 ומקבלים= 30.
כעת אנו עובדים עם המספר החדש – 30 ושואלים את אותה השאלה: "האם המספר 64 נכנס בתוך 30?" – התשובה היא כמובן לא! אז רושמים 0 מתחת למספר 64.
לכן אנו ממשיכים הלאה, "האם 32 נכנס?" – לא. אז רושמים 0 מתחת למספר 32.
הלאה – האם 16 נכנס? – כן. ושוב רושמים "1" תחת 16 ומפחיתים את 16 מ-30.

1 2 4 8 16 32 64 128
1 0 0 1

כעת 30-16 יוצא 14, וממשיכים הלאה – 8 נכנס ולכן רושמים 1, ומפחיתים 14-8 ויוצא 6. ואז 4 נכנס גם ונשאר לנו 2, 2 נכנס ב-2. כעת הגענו ל-0 לכן 1 לא נכנס ב-0 ורושמים 0 תחת "1".

1 2 4 8 16 32 64 128
0 1 1 1 1 0 0 1

המספר שהתקבל לנו בשורה השניה זו ההמרה הבינארית של המספר העשרוני: 158 כלומר: 10011110.

ספירה הקסה-דצימלית – ספירה על בסיס 16

בסיס הקסה-דצימלי היא שיטת ספירה לפי בסיס 16. כלומר התווים שמופיעים בספירה זו הם הספרות 0-9 (כמו בעשרוני) ובנוסף האותיות האנגליות A-F. יתרון ספירה זו: כל תו הקסה-דצימלי הוא 4 ביטים, ושני תווים הם 8 ביטים (שזה בית 1 – Byte), ואז אנו יכולים לכתוב מספרים גדולים במעט תווים.

המרה מספירה בינארית להקסה-דצימלית

כדי להמיר מספירה בינארית להקסה, עלינו לחלק את 8 הביטים של המספר הבינארי לשני חלקים – כל חלק 4 ביטים, ולהמיר כל חלק בנפרד להקסה-דצימלי.

לדוגמא: נתון המספר הבינארי 10011110. כדי להמיר אותו, עלינו לחלק את המספר לשני חלקים: 1001 ו- 1110. נמיר קודם את השמאלי: 1001, כדי להמיר אותו לעשרוני נציב אותו בטבלה כמו שלמדנו להמיר מבינארי לעשרוני (שימו לב שכאן יש לנו רק את חצי הטבלה הימנית ולא את כל הטבלה, מכיוון שזה רק 4 ביטים):

1 2 4 8
1 0 0 1

עכשיו נחבר את המספרים שמתחתיהם הספרה "1" ויוצא: 8+1 = 9.
כלומר הספרה השמאלית מהמספר היא: 9

עכשיו ניגש לחלק השני: 1110, נציב בטבלה:

1 2 4 8
0 1 1 1

נחבר: 8+4+2 = 14.

כעת מכיוון שיצא לנו 14 – עלינו לתרגם את זה להקסה-דצימלי. להזכירכם הספירה של הקסה היא הספרות 0-9 ולאחר מכן סופרים A B C D E F – וזה לפי סדר הספירה כך ש- A=10, B=11, C=12, D=13, E=14, F=15, לכן 14 זה בעצם – E.

לבסוף המספר המלא הוא: 9E

המרה מספירה הקסה-דצימלית לבינארית

כדי לבצע המרה זו עלינו להמיר את התווים ההקסה-דצימלים לעשרוני ואז לבינארי.
אם למשל נתון לנו F5, אז אנו מפצלים שוב, ובודקים: F לכמה שווה בעשרוני?
אז שוב מכיוון ש- A=10 וכו', אז F=15.
כעת אנו ממירים את 15 לבינארי [וזה בעצם הופך להיות תרגיל של המרה מעשרוני לבינארי כמו שעשינו קודם לכן, רק שכאן ממירים רק 4 ביטים ולא 8] באמצעות הטבלה הידועה:

1 2 4 8
1 1 1 1

האם 8 נכנס ב- 15 – כן? מפחיתים ומקבלים: 7, ואז 4 ו-2 ו-1 נכנסים. בקיצור הכל אחדות.

עכשיו ניגשים לחלק השני של המספר: 5. מכיוון ש-5 בהקסה זה גם 5 בעשרוני, אנו נעבור כבר להמרה בבינארי. שוב ע"י הטבלה:

1 2 4 8
1 0 1 0

לבסוף המספר הסופי בבינארי הוא: 11110101

You may also like...

19 Responses

  1. michal הגיב:

    תודה רבה ממש עזר לי!

    רציתי להבין איך הספירה בבסיס 2 עובדת והצלחתי בזכותכם

    תודה!!

  2. יצחק אבנר שמשון הגיב:

    יישר כוח מיכאל תודה רבה !!!

  3. מיכל קלין הגיב:

    איך כותבים 7 בספירה הבינארית?
    תודה רבה

    • Michael הגיב:

      שלום!
      כדי להמיר מספר עשרוני למספר בינארי, אפשר להשתמש בשיטת הטבלה. הטבלה מסודרת כך:
      1 2 4 8 16 32 64 128
      כעת מתקדמים משמאל לימין ובכל מספר שואלים האם המספר נכנס לתוך המספר המבוקש – כלומר האם 128 נכנס ב7? התשובה היא: לא, ולכן רושמים מתחת 0 וכן הלאה. בסוף 4 נכנס, ברגע שמספר נכנס מפחיתים אותו מהמספר המקורי אז 7-4=3 ואז שוב שואלים האם 3 נכנס ב- 2 כן וכן הלאה.
      בסוף יצא 00000111
      אפשר לכתוב בקיצור 0111 או אפילו רק 111

  4. רות הגיב:

    ואיי תודה רבה לכם, עזר לי מאד!!!

  5. רחל הגיב:

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

  6. shoshana הגיב:

    אני רוצה להפוך את המספר 328 מדצימלי להקסה דצימלי איך אני עושה את זה

    • Michael הגיב:

      שלום,
      יש שתי אפשרויות, או שלפי שיטת הטבלה הבינארית :
      1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256

      מציבים ב256 ב-64 וב-8 ומקבלים:
      0001 0100 1000
      או שמשתמשים בשיטת החילוק, מחלקים 328 ב-2 ומקבלים 164 עם שארית 0, וכן הלאה:
      164:2 = 82 עם שארית 0
      82:2 = 41 עם שארית 0
      41:2 = 20 עם שארית 1
      20:2 = 10 עם שארית 0
      10:2 = 5 עם שארית 0
      5:2 = 2 עם שארית 1
      2:2 = 1 עם שארית 0
      1:2 = 0 עם שארית 1
      רושמים את כל השאריות מלמטה למעלה בצורה של שמאל לימין ומקבלים גם כן: 101001000
      בהצלחה!

  7. עדי הגיב:

    ואו תודה רבה !!!
    זה עזר לי להבין את החומר כ"כ טוב!

  8. גכע הגיב:

    מה זה 1224 בספרה בינרית?

    • Michael הגיב:

      1224 בספירה בינארית מצריך שימוש ביותר ביטים ממה שאנו בדרך כלל משתמשים (8 ביטים).
      אם נרחיב את טבלת ההמרות ל- 11 עמודות הכוללות גם את 256,512, 1024.
      אם נציב נקבל: 100 1100 1000
      בהצלחה

  9. רונן הגיב:

    תודה, יש לי מחר מבחן ולא הצלחתי להבין את זה קודם בצורה כ"כ ברורה

  10. קרן הגיב:

    שלום רב,
    * אפשר בבקשה חומר כתוב להדפסה על קלט / פלט / משתנים ?
    בנוסף אשמח לדעת האם אפשר להדפיס את החומר על המרת מספרים בינאריים למספרים דצימליים ? ניסיתי להדפיס או לשלוח אליי למייל ויוצאת לי הדפסה עם הרבה פרסומות ומלל לא רלוונטי … אפשר קובץ נקי ?

    אשמח מאוד ותודה מראש .
    קרן

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *

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