ממיר בסיסים: בינארי, אוקטלי, דצימלי והקסדצימלי

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

ממיר בסיסים: בינארי, אוקטלי, דצימלי והקסדצימלי

המרה בין כל בסיס ספירה מ-2 עד 36, עם שלבי ההמרה, ופעולות חשבון ישירות בבסיס שנבחר.

בבסיסים גדולים מ-10 משתמשים באותיות: A מייצגת 10, B מייצגת 11 וכן הלאה עד Z שמייצגת 35. המחשבון אינו מבדיל בין אות גדולה לקטנה.

איך משתמשים בממיר

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

בלשונית "פעולות חשבון" מזינים שני מספרים באותו בסיס, בוחרים פעולה, ומקבלים את התוצאה באותו בסיס ובבסיסים הנפוצים. מלבד ארבע פעולות החשבון יש גם AND, OR ו-XOR, שהן פעולות סיביתיות שימושיות במיוחד בתכנות מיקרו בקרים.

בבסיסים גדולים מעשר משתמשים באותיות: A היא 10, B היא 11, וכן הלאה עד Z שהיא 35. הממיר אינו מבדיל בין אות גדולה לקטנה.

מה זה בכלל בסיס ספירה

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

$$N = d_n \cdot b^n + d_{n-1} \cdot b^{n-1} + \dots + d_1 \cdot b^1 + d_0 \cdot b^0$$

המספר 1011 בבינארי, למשל, הוא 1 כפול 8, ועוד 0 כפול 4, ועוד 1 כפול 2, ועוד 1 כפול 1, כלומר 11 בעשרוני. אותו רצף ספרות בדיוק, 1011, בבסיס עשר הוא אלף ואחת עשרה. לכן תמיד חייבים לדעת באיזה בסיס המספר כתוב.

איך ממירים ידנית

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

מעשרוני לבסיס כלשהו: מחלקים שוב ושוב בבסיס, רושמים את השארית בכל שלב, וקוראים את השאריות מהסוף להתחלה. נמיר את 47 לבינארי: 47 חלקי 2 הוא 23 עם שארית 1, 23 חלקי 2 הוא 11 עם שארית 1, 11 חלקי 2 הוא 5 עם שארית 1, 5 חלקי 2 הוא 2 עם שארית 1, 2 חלקי 2 הוא 1 עם שארית 0, ו-1 חלקי 2 הוא 0 עם שארית 1. קוראים מלמטה למעלה ומקבלים 101111.

בין בינארי להקסדצימלי: הדרך הקצרה. מכיוון ש-16 הוא 2 בחזקת 4, כל ספרה הקסדצימלית שקולה בדיוק לארבע סיביות. לכן מחלקים את המספר הבינארי לקבוצות של ארבע מימין לשמאל וממירים כל קבוצה בנפרד, בלי לעבור דרך עשרוני כלל. 10111101 מתפרק ל-1011 ול-1101, שהם B ו-D, כלומר BD. אותו עיקרון עובד עם אוקטלי, שם כל ספרה שווה לשלוש סיביות.

למה המחשב משתמש בבינארי

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

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

מושגי יסוד שכדאי להכיר

  • סיבית (ביט) היא ספרה בינארית אחת, אפס או אחד.
  • בית (בייט) הוא שמונה סיביות, ולכן הוא יכול לייצג 256 ערכים שונים, מ-0 עד 255.
  • ניבל הוא ארבע סיביות, כלומר בדיוק ספרה הקסדצימלית אחת.
  • מספר הערכים שאפשר לייצג ב-n סיביות הוא 2 בחזקת n, והערך המרבי הוא 2 בחזקת n פחות אחד.

למי זה שימושי

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

הערות ומגבלות

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