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

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

בסיס עשרוני כמקרה מדגים

ביום-יום אנחנו משתמשים בבסיס עשרוני (דצימלי) כלומר עשרה סימנים:

איך אנחנו מייצגים מספר הגדול מ-9? על ידי שימוש בכמות מרובה של סימנים זה לצד זה, כאשר לכל מיקום אפשרי של סימן נקרא ספרה (digit).

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

0001= אחדה, 0010 = עשיריה, 0100 = מאה, 1000= אלפיה, וכן הלאה. הנוסחה לחישוב של המספר הכי קטן שאפשר לייצג על ידי סוג של ספרה, היא:

כאשר a היא מספר הסימנים שבהם אנחנו משתמשים בבסיס שלנו, ו-b היא מיקום הספרה בתוך המספר, כאשר סופרים מימין ומתחילים לספור מ-0 (כלומר ספרת האחדות היא הספרה במקום 0, העשרות במקום 1 וכן הלאה). למשל, עבור הספרה במקום 3 בבסיס עשרוני, נציב (עשרה סימנים בבסיס עשרוני) ו-. נקבל:

ואכן הספרה השלישית (כשמתחילים לספור מ-0) בבסיס עשרוני היא ספרת האלפים.

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

לדוגמה, נניח ונרצה לייצג את המספר 1059. גודל הספרה הכי גדול שקטן מ-1059 הוא 1000, הגודל של ספרה מספר 3. 1000 נכנס ב-1059 פעם אחת בלבד ולכן המקדם של ספרת האלפים יהיה 1. נשארנו עם 59. הגודל של ספרה 2 הוא מאות, אך 59 קטן ממאה ולכן המקדם של ספרה זו יהיה 0. נעבור לספרה מספר 1, ספרת העשרות. 10 נכנס 5 פעמים ב-59, לכן מקדם ספרת העשרות יהיה 5. נשארנו עם 9, ולכן מקדם ספרת האחדות יהיה 9.

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

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

ואכן על מנת לייצג את 1059 בבסיס עשרוני, הספרה הראשונה מימין תהיה 9, השנייה 5, השלישית 0 והרביעית 1.

נראה איך זה עובד כשאנחנו סופרים ברצף:

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

נתחיל לספור מ-0, אח"כ 1, 2 וכן הלאה. הגענו ל-9. נגמרו לנו הסימנים שאפשר להשתמש בהם, אז נצמיד ספרה חדשה מצד שמאל שערכה יהיה 1, ונאפס את כל הספרות שהשתמשנו בהן עד כה. לכן המספר שהגענו אליו הוא 10. עשירייה אחת ואפס אחדות.

נמשיך לקדם את האחדות, לכן המספר הבא הוא 11 ואחריו 12 וכן הלאה, עד 19. כעת שוב אנחנו לא יכולים לקדם את ספרת האחדות, אז נאפס אותה ונקדם שוב את הספרה הצמודה לה משמאל. כלומר הגענו ל-20, ואחר כך 21, 22 וכן הלאה.

מה יקרה כשנגיע ל-99? נרצה לקדם את ספרת האחדות, אך זה לא אפשרי. נאפס אותה וננסה לקדם גם את ספרת העשרות, אך גם זה לא אפשרי. נאפס גם אותה, ונקדם את ספרת המאות. הגענו ל-100. השיטה הזו תקפה עד אינסוף.

בסיס בינארי

בסיס בינארי עובד באותו האופן, רק שהפעם יש לנו רק שני סימנים:

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

המספר הבינארימיקום הספרהכתיב חזקותערך דצימלישם הספרה
101ספרת האחדות
1012ספרת הזוגות
10024ספרת הרביעיות
100038ספרת השמיניות
10000416ספרת השש-עשריות
100000532ספרת השלושים-ושתמיות
1000000664ספרת השישים-וארבעיות
100000007128ספרת המאה-עשרים-ושמונאיות

ננסה להמיר את המספר 210 מבסיס דצימלי לבסיס בינארי, בעזרת הספרות שחישבנו בטבלה. נרכיב את המספר על ידי סכימת כפולות של ערכי הספרות:

הגודל של ספרה 8 הוא 256, שזה גדול יותר מ-210. לכן נוכל להתחיל מספרה מספר 7. 128 נכנס ב-210 פעם אחת בלבד. לכן מקדם ספרה 7 יהיה 1. נשארנו עם 82. הגודל של ספרה 6 הוא 64. זה נכנס ב-82 פעם אחת בלבד, לכן המקדם של ספרה 6 יהיה 1. נשארנו עם 18. הגודל של ספרה 5 הוא 23. זה גדול מ-18 ולכן לא נוכל להשתמש בספרה זו. המקדם שלה יהיה 0. הגודל של ספרה 4 הוא 16. זה נכנס ב-18 פעם אחת, לכן המקדם של ספרה 4 יהיה 1. נשארנו עם 2. הגדלים של ספרות 3 ו-2 הם 8 ו-4, בהתאמה. שניהם גדולים מ-2. לכן מקדמי ספרות אלו יהיו 0. הגודל של ספרה 1 הוא 2. זה בדיוק מה שנשאר לנו, לכן המקדם של ספרה 1 יהיה 1, כי 2 נכנס ב-2 פעם אחת בדיוק. נשארנו עם אפס, ולכן המקדם של ספרה 0 יהיה 0.

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

נתאים את המקדמים (מוקפים בריבוע) למיקומי הספרות המתאימים להם ונקבל:

ננסה לראות איך זה עובד בספירה רציפה:

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

נחזור לקדם את ספרת האחדות, אז 3 נכתב כ-11. נמשיך הלאה ושוב לא ניתן לקדם את ספרת האחדות, אך גם לא ניתן לקדם את הספרה במקום 1, לכן נאפס את שתיהן ונקדם את הספרה הבאה בתור, זו שבמקום 2. לכן 4 נכתב בבינארית כ-100.

ואז 5 נכתב כ-101, 6 נכתב 110, 7 נכתב 111, 8 נכתב 1000, 9 נכתב 1001 וכן הלאה.

נכון שלא מאוד מורכב?

בסיס הקסדצימלי

בסיס הקסדצימלי גם הוא נפוץ מאוד בייצוג מידע במחשבים. הקס=6, דצימלי=10, הקסדצימלי=6+10=16. כלומר בסיס 16.

אחד הקשיים בבסיס זה הוא שיש בו יותר סימנים ממה שאנחנו משתמשים במתמטיקה. לכן לאחר הסימן 9 נעבור להשתמש באותיות לטיניות:

ברגע שמתגברים על המכשול הזה, הכל עובד בדיוק כמו שראינו עד כה:

המספר ההקסדצימלימיקום הספרהכתיב חזקותערך דצימלישם הספרה
101ספרת האחדות
10116ספרת השש-עשריות
1002256ספרת המאתיים-חמישים-וששיות

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

גודל הספרה הכי גדול שנכנס בתוך 314 הוא 256, הגודל של ספרה 2. 256 נכנס פעם אחת בלבד ב-314 ולכן מקדם ספרה זו יהיה 1. נשארנו עם 58. גודל ספרה 1 הוא 16, שנכנס ב-58 3 פעמים בלבד. לכן מקדם ספרה זו יהיה 3. נשארנו עם 10. הגודל של ספרה 0 הוא 1. 1 נכנס ב-10 עשר פעמים בדיוק. את הגודל 10 מייצג בבסיס ההקסדצימלי הסימן A. לכן המקדם של ספרה 0 יהיה A.

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

נתאים את המקדמים (מוקפים בריבוע) למיקומי הספרות המתאימים להם ונקבל:


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