מספרים דצימליים, בינאריים, הקסה-דצימליים
אנו רגילים לכך שיש לנו 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
תודה רבה ממש עזר לי!
רציתי להבין איך הספירה בבסיס 2 עובדת והצלחתי בזכותכם
תודה!!
מצוין שמח לשמוע!
תודה על התגובה ובהצלחה
יישר כוח מיכאל תודה רבה !!!
מצוין!!
איך כותבים 7 בספירה הבינארית?
תודה רבה
שלום!
כדי להמיר מספר עשרוני למספר בינארי, אפשר להשתמש בשיטת הטבלה. הטבלה מסודרת כך:
1 2 4 8 16 32 64 128
כעת מתקדמים משמאל לימין ובכל מספר שואלים האם המספר נכנס לתוך המספר המבוקש – כלומר האם 128 נכנס ב7? התשובה היא: לא, ולכן רושמים מתחת 0 וכן הלאה. בסוף 4 נכנס, ברגע שמספר נכנס מפחיתים אותו מהמספר המקורי אז 7-4=3 ואז שוב שואלים האם 3 נכנס ב- 2 כן וכן הלאה.
בסוף יצא 00000111
אפשר לכתוב בקיצור 0111 או אפילו רק 111
ואיי תודה רבה לכם, עזר לי מאד!!!
מצוין שמחים שעזר!
בהצלחה
מאד ברור ההסברים עזר לי מאד תודה!!
רציתי לדעת מה ההיגיון שעומד מאחורי הטבלה הבינארית…
האם זו סוג של נוסחא שחקרו אותה או שאפשר להסביר איך זה עובד בדיוק?
אני רוצה להפוך את המספר 328 מדצימלי להקסה דצימלי איך אני עושה את זה
שלום,
יש שתי אפשרויות, או שלפי שיטת הטבלה הבינארית :
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
בהצלחה!
ואו תודה רבה !!!
זה עזר לי להבין את החומר כ"כ טוב!
מצוין! שמחים שעזר לך! כל הכבוד
מה זה 1224 בספרה בינרית?
1224 בספירה בינארית מצריך שימוש ביותר ביטים ממה שאנו בדרך כלל משתמשים (8 ביטים).
אם נרחיב את טבלת ההמרות ל- 11 עמודות הכוללות גם את 256,512, 1024.
אם נציב נקבל: 100 1100 1000
בהצלחה
תודה, יש לי מחר מבחן ולא הצלחתי להבין את זה קודם בצורה כ"כ ברורה
איזה יופי! כל הכבוד!
בהצלחה
שלום רב,
* אפשר בבקשה חומר כתוב להדפסה על קלט / פלט / משתנים ?
בנוסף אשמח לדעת האם אפשר להדפיס את החומר על המרת מספרים בינאריים למספרים דצימליים ? ניסיתי להדפיס או לשלוח אליי למייל ויוצאת לי הדפסה עם הרבה פרסומות ומלל לא רלוונטי … אפשר קובץ נקי ?
אשמח מאוד ותודה מראש .
קרן
שלום,
אשלח תגובה במייל.
בהצלחה