מהי שיטה מיקומית
במספר העשרוני 4,095 הספרה 4 לא שווה 4: היא שווה 4,000, כי היא נמצאת במקום האלפים. כל מקום מכפיל את הספרה בחזקה של 10 (1, 10, 100, 1,000…). זו השיטה המיקומית, והבסיס הוא מספר הספרות השונות שבהן משתמשים: עשר בשיטה העשרונית.
הבינארי פועל באותו אופן, אבל בבסיס 2: קיימות רק הספרות 0 ו-1, וכל מקום שווה פי שניים מהקודם. ההקסדצימלי הוא בסיס 16: ששת עשר הספרות הן 0 עד 9 והאותיות A עד F, וכל מקום שווה פי 16 מהקודם. מחשבים עובדים בבינארי כי מעגל חשמלי צריך להבחין רק בשני מצבים (כבוי ודלוק), וההקסדצימלי הוא דרך קצרה לכתוב את הביטים האלה.
| מיקום (מימין לשמאל) | ערך בבינארי | ערך בהקסדצימלי |
|---|---|---|
| 1 | 1 | 1 |
| 2 | 2 | 16 |
| 3 | 4 | 256 |
| 4 | 8 | 4,096 |
| 5 | 16 | 65,536 |
| 6 | 32 | 1,048,576 |
| 7 | 64 | 16,777,216 |
| 8 | 128 | 268,435,456 |
מבינארי לעשרוני, ידנית
כותבים כל ספרה עם הערך של המקום שלה, ומחברים רק את המקומות שבהם יש 1. דוגמה עם 1101: מימין לשמאל המקומות שווים 1, 2, 4 ו-8.
- כתבו את המספר ומתחתיו את הערך של כל מקום: 1 1 0 1 מעל 8 4 2 1.
- בדקו מה יש בכל מקום: 1 במקום של ה-8, 1 במקום של ה-4, 0 במקום של ה-2 ו-1 במקום של ה-1.
- התעלמו מהמקומות שיש בהם 0 (כאן, המקום של ה-2).
- חברו: 8 + 4 + 0 + 1 = 13. כלומר 1101 בבינארי הוא 13 בעשרוני.
עם יותר ספרות זה אותו דבר: 11111111 הוא 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255, הערך הגדול ביותר שנכנס ב-8 ביטים. ו-10110110 הוא 128 + 32 + 16 + 4 + 2 = 182.
מעשרוני לבינארי, בחילוקים עוקבים
מחלקים את המספר ב-2 שוב ושוב, רושמים את השארית של כל חילוק (תמיד 0 או 1), עד שמגיעים למנה 0. השאריות, כשקוראים אותן מלמטה למעלה, הן המספר הבינארי. דוגמה עם 45:
- 45 ÷ 2 = 22, שארית 1
- 22 ÷ 2 = 11, שארית 0
- 11 ÷ 2 = 5, שארית 1
- 5 ÷ 2 = 2, שארית 1
- 2 ÷ 2 = 1, שארית 0
- 1 ÷ 2 = 0, שארית 1
אם קוראים את השאריות מלמטה למעלה מקבלים 101101. לבדיקה, חברו: 32 + 8 + 4 + 1 = 45.
יש שיטה חלופית שרבים מעדיפים: להחסיר חזקות של 2 מהגדולה לקטנה. עבור 200: ה-128 נכנס (נשאר 72), ה-64 נכנס (נשאר 8), 32 ו-16 לא נכנסים, אבל ה-8 כן (נשאר 0). המקומות שנוצלו הם 128, 64 ו-8, ולכן 200 = 11001000.
הקסדצימלי: ששה עשר סימנים וטבלה שתמיד תהיה לכם בהישג יד
מכיוון שאין ספרות ל-10 עד 15, משתמשים באותיות A, B, C, D, E ו-F. ספרה הקסדצימלית אחת שווה בדיוק לארבעה ביטים («ניבל»), ולכן זה כל כך נוח: בייט, שהוא 8 ביטים, נכתב בשתי ספרות הקסדצימליות בלבד.
כדי לעבור מהקסדצימלי לעשרוני, הכפילו כל ספרה בחזקת ה-16 של מקומה וחברו. למשל, 3F = 3 × 16 + 15 = 63 ו-A3 = 10 × 16 + 3 = 163.
| עשרוני | בינארי (4 ביטים) | אוקטלי | הקסדצימלי |
|---|---|---|---|
| 0 | 0000 | 0 | 0 |
| 1 | 0001 | 1 | 1 |
| 2 | 0010 | 2 | 2 |
| 3 | 0011 | 3 | 3 |
| 4 | 0100 | 4 | 4 |
| 5 | 0101 | 5 | 5 |
| 6 | 0110 | 6 | 6 |
| 7 | 0111 | 7 | 7 |
| 8 | 1000 | 10 | 8 |
| 9 | 1001 | 11 | 9 |
| 10 | 1010 | 12 | A |
| 11 | 1011 | 13 | B |
| 12 | 1100 | 14 | C |
| 13 | 1101 | 15 | D |
| 14 | 1110 | 16 | E |
| 15 | 1111 | 17 | F |
למה משתמשים בהקסדצימלי: בתים, צבעים וכתובות
בייט הוא 8 ביטים ונע בין 0 ל-255 (00000000 עד 11111111). כתיבת ביטים ביד איטית ומועדת לטעויות; בהקסדצימלי אותו בייט הוא שני תווים, מ-00 עד FF. כדי לעבור מבינארי להקסדצימלי, חלקו את הביטים לקבוצות של ארבעה מימין והחליפו כל קבוצה בספרה שלה מהטבלה. דוגמה: 11010111 מתחלק ל-1101 ול-0111, שהם D ו-7, ולכן הערך הוא D7. בעשרוני זה 13 × 16 + 7 = 215.
המקרה המוכר ביותר הוא צבעי אינטרנט. ב-#FF8800 יש שלושה בתים: FF לאדום (255), 88 לירוק (136) ו-00 לכחול (0). זה כתום עז: כל האדום, קצת יותר ממחצית הירוק ושום כחול. הקסדצימלי מופיע גם בכתובות זיכרון, בקודי שגיאה ובמזהי רשת.
מטקסט לבינארי עם ASCII
מחשב שומר כל אות כמספר, ואת המספר כביטים. בטבלת ASCII האות A היא 65, שבבינארי של 8 ביטים הוא 01000001. המילה «Hi» היא שתי אותיות: H היא 72 (01001000) ו-i היא 105 (01101001), ולכן היא נכתבת 01001000 01101001. עם «Hola» אלה 72, 111, 108 ו-97, כלומר 01001000 01101111 01101100 01100001, או בהקסדצימלי 48 6F 6C 61.
הכלי משתמש בקידוד UTF-8: באותיות לטיניות בסיסיות כל תו תופס בייט אחד של 8 ביטים, אבל אות בעברית, אות עם סימן או אמוג׳י תופסים כמה בתים, ולכן הם נותנים יותר מ-8 ביטים. למשל, האות א היא שני בתים: 11010111 10010000 (D7 90 בהקסדצימלי).
איך עושים את כל זה עם הכלי
הממיר «בינארי, עשרוני והקסדצימלי» מתאים לבדיקת החישובים הידניים שלכם או לפתרון מספרים ארוכים בלי טעויות.
- הקלידו את המספר בשדה של הבסיס שלו: «עשרוני (בסיס 10)», «בינארי (בסיס 2)», אוקטלי או «הקסדצימלי (בסיס 16)». שלושת האחרים מתמלאים מעצמם.
- אם ספרה לא מתאימה לבסיס (למשל 2 בבינארי), הכלי מתריע על כך.
- לטקסט, הקלידו אותו בשדה «טקסט» והסתכלו על «בינארי (8 ביטים לכל תו)» ועל ההקסדצימלי לפי בתים. אפשר גם להדביק ביטים בקבוצות של 8 כדי לחזור לטקסט.
- לבסיסים נדירים, השתמשו ב«כל בסיס (מ-2 עד 36)»: בוחרים את בסיס המקור, את בסיס היעד ואת המספר.
המגבלות: הכלי ממיר רק מספרים שלמים לא שליליים (בלי שבר עשרוני ובלי סימן) ולא מוסיף אפסים משמאל במקומכם, ולכן אם אתם רוצים 8 ביטים קבועים צריך להשלים ידנית (13 הוא 00001101). שום דבר ממה שאתם מקלידים לא יוצא מהדפדפן שלכם.
טעויות נפוצות
- לקרוא את השאריות הפוך: בחילוקים עוקבים השארית הראשונה היא הספרה הימנית ביותר, לא השמאלית ביותר.
- לשכוח אפסים משמאל כשהם נחוצים: 13 הוא 1101, אבל כבייט הוא 00001101. זה חשוב כשהאורך הוא חלק מהנתון, כמו בצבע או במסכת רשת.
- לבלבל בין האות O לאפס, או בין B ההקסדצימלי (11) ל-8 בעת העתקה. בהקסדצימלי האותיות שוות בגדולות ובקטנות, אבל הן לא אותו דבר כמו ספרה.
- להשאיר את הקידומת 0x או את הסימן # בזמן ההמרה: אלה רק סימנים לכך שהמספר הקסדצימלי, וצריך להסיר אותם לפני ההדבקה.
- לחשוב ש-10 בבינארי הוא עשר: הוא שתיים. אותו «10» שווה 2, 10 או 16 לפי הבסיס.
תרגילים פתורים לאימון
נסו לפתור כל אחד לפני שאתם מסתכלים על התשובה, ואחר כך בדקו עם הכלי.
- המירו 10110110 לעשרוני ולהקסדצימלי. תשובה: 128 + 32 + 16 + 4 + 2 = 182; בקבוצות של ארבע, 1011 0110 = B6.
- המירו 200 לבינארי ולהקסדצימלי. תשובה: 11001000 ו-C8 (12 × 16 + 8 = 200).
- המירו 7F לבינארי. תשובה: 7 = 0111 ו-F = 1111, ולכן 01111111, שבעשרוני הוא 127.
- כתבו «OK» בבינארי. תשובה: O היא 79 ו-K היא 75, כלומר 01001111 01001011.
שאלות נפוצות
איך ממירים 1101 מבינארי לעשרוני?
מחברים את הערכים של המקומות שבהם יש 1: 8 + 4 + 1 = 13. הספרה השנייה מימין היא 0, ולכן ה-2 לא נכלל בסכום.
כמה זה 255 בבינארי ובהקסדצימלי?
255 הוא 11111111 בבינארי ו-FF בהקסדצימלי. זה הערך הגדול ביותר שנכנס בבייט של 8 ביטים.
למה בהקסדצימלי משתמשים באותיות?
כי צריך ששה עשר סימנים שונים והשיטה העשרונית מספקת רק עשרה (0 עד 9). לכן A שווה 10, B שווה 11, C שווה 12, D שווה 13, E שווה 14 ו-F שווה 15.
כמה מספרים שונים אפשר לכתוב ב-8 ביטים?
256, מ-0 עד 255. באופן כללי, עם n ביטים אפשר לייצג 2 בחזקת n ערכים.
האם הכלי ממיר מספרים שליליים או עם שבר עשרוני?
לא, רק מספרים שלמים לא שליליים. לטקסט הוא משתמש ב-UTF-8, ולכן אותיות בעברית ואמוג׳י נותנים יותר מ-8 ביטים.