דצמ' 07 2009
אני סופר עד אחת!*
כשאנחנו סופרים, אנחנו מבחינים בחזרות: 1 ,2, 3… ואחר כך 11, 12, 13… 21, 22, 23 … 101, 102… 111, 112 וכך הלאה, עד שאפילו לא יודעים איך קוראים למספר.
שיטת המספור הזאת נקראת "השיטה העשרונית" והיא ממש לא מובנת מאליה. הערבים כנראה הביאו אותה מהמזרח הרחוק בין המאות השישית לשמינית. בעולם המערבי הייתה מקובלת ספירה בספרות רומיות, שלא נתעכב עליה כאן. שני החידושים העיקריים בשיטה העשרונית הם מתן משמעות למיקום הסיפרה במספר, וכן המצאת ה0. באופן כזה, ניתן על ידי עשר ספרות בלבד, לייצג כל מספר. לדוגמה, המספר 1,234 מציין את המספר אלף מאתיים שלושים וארבע באופן הבא: במיקום הרביעי, האלפים, ניצבת הסיפרה 1, ולכן יש אלף אחד במספר. במיקום השלישי, המאות, ניצבת הסיפרה 2, כך שיש במספר עוד מאתיים. במיקום השני, העשרות, ניצבת הסיפרה 3 שמוסיפה לנו שלושים ובמיקום הראשון, ספרת האחדות, ניצבת הסיפרה 4, וכך: 1000 + 200 + 30 + 4 = 1,234.
הגדולה של המצאת האפס משלימה ומקלה עוד יותר על השיטה. האפס הוא "שומר מקום": במספר 103 לדוגמה, אין לנו עשרות, רק מאות ואחדות. ללא אפס, נכתוב את המספר כ 13, ולא נוכל לדעת האם זה 13, 103, 1,003 או 100,000,003,000.
השיטה העשרונית מקלה מאוד על חישובים. קל הרבה יותר לחבר, לחסר, לכפול ולחלק מספרים בשיטה העשרונית. כל השיטה המטרית, שיטת מדידת המרחקים והמשקלות שלנו, בנוייה על השיטה העשרונית.
השיטה הזאת הופכת במהלך הילדות שלנו לטבעית כל כך, שאנחנו לא חושבים עליה ומקבלים אותה במלואה ללא צורך להבין באמת איך היא פועלת. אבל השיטה העשרונית ניתנת להרחבה: באותם עקרונות ממש, ניתן לייצג מספרים באופן אחר, כאשר יש צורך בכך.
בעצם, אתם מכירים טוב מאוד שיטה דומה ומשתמשים בה באופן יומיומי. חישובי הזמן שלנו לא נעשים בשיטה העשרונית אלא בשיטה אחרת, דומה לה. בדקה אחת שלנו ישנן 60 שניות. 60 דקות הן בדיוק שעה אחת. 24 וארבע שעות הן יממה אחת בדיוק.
אחרי השעה 10:47:59, תבוא השעה 10:48:00. זהו אותו עקרון בדיוק כמו שראינו למעלה בשיטה העשרונית.
השינוי בשיטת מדידת הזמן לעומת השיטה העשרוני הוא הבסיס. השיטה העשרונית משתמשת בבסיס עשר או "דצימלי", כלומר ישנן עשר ספרות עוקבות שאיתן בונים את המספרים. הזמן נמדד בבסיס משתנה, כאשר הדקות והשניות הן בבסיס שישים והשעות בבסיס עשרים וארבע.
ספירה בבסיס עשר מציינת כלל נוסף שניתן יהיה להכליל אותו בהמשך. עשר הוא הבסיס לחישוב הבא: הספרה הנמוכה ביותר, היא 1 כפול הספרה שממוקמת שם. הספרה השניה מציינת 10 כפול אותה ספרה. את הספרה השלישית נכפיל ב100 ואת הרביעית ב1,000. באותו אופן, ניתן להגיד שאת הספרה הנמוכה ביותר כופלים ב100 = 1 (תזכורת: תוצאת העלאה של כל מספר בחזקת 0 היא תמיד 1), את הספרה השניה נכפול ב101 = 10, את השלישית ב102 = 100, את הרביעית ב103 = 1,000 וכך הלאה.
איך סופר מחשב?
כשנדבר על זכרונות, נראה שכמות המידע הקטנה ביותר שמחשב יכול לזכור נקראת "בִּיט" (bit). ביט מחזיק ידע פשוט מאוד: "נכון" או "לא נכון". מקובל לציין זאת כ"0" ("לא נכון") או "1" ("נכון"). רוב המחשבים לא עובדים ברמה של ביטים בודדים. הביטים מאוגדים ל"בָּתִים" (byte) שמכילים שמונה ביטים כל אחד. הביטים בתוך הבית, מהווים מספר בבסיס 2. מספר בבסיס 2 נקרא "מספר בינארי" כלומר שמונה ספרות 0 או 1. בדיוק באותו אופן שראינו קודם, נחשב מספר בינארי: המספר 2 יהווה את בסיס החזקות שיהיו המכפלות של כל ספרה.
את הספרה הנמוכה ביותר נכפול ב 20 = 1. את השניה ב 21 = 2, את השלישית ב22 = 4, הרביעית ב23 = 8, החמישית ב24 = 16, השישית ב25 = 32, השביעית ב26 = 64 ואת הספרה השמינית ב27 = 128.
לדוגמה, כמה שווה המספר הבינארי 10101010?
הספרה הנמוכה ביותר היא 0, ולכן אין לנו אחדות. הספרה השניה היא 1. נכפיל אותה ב2 ונקבל 2. נמשיך:
20 (=1) X 0 (0) + 21 (=2) X 1 (2) + 22 (=4) X 0 (0) + 23 (=8) X 1 (8) + 24 (=16) X 0 (0) + 25 (=32) X 1 (32) + 26 (=64) X 0 (0) + 27 (=128) X 1 (128) = 2 + 8 + 32 + 128 = 170
כלומר, המספר 10101010 בייצוג בינארי, שווה למספר 170 בייצוג דצימלי (בסיס עשר).
וכאן אנחנו מגיעים לנקודה מהותית וחשובה מאין כמוה:
ההבדלים בין הבסיסים השונים ושיטות המספור השונות הם אך ורק בייצוג המספר. המספר עצמו, מהותו הכמותית, לא משתנה בגלל האופן שבו מייצגים אותו. 170 (בבסיס 10) תפוחים הם אותם 10101010 (בבסיס 2) תפוחים. לא התווסף תפוח ולא חסר אף אחד. לא שינינו את כמות התפוחים רק בגלל שספרנו אותם אחרת.
שש עשרה מלאו לנער
בסיס שש-עשרה או ייצוג הֶקְסָה-דצימלי (המכונה פשוט "הֶקְסָה"), משתמש באותו רעיון בדיוק: ישנן שש עשרה ספרות אפשריות עבור כל מיקום במספר. אנחנו נשתמש בספרות הרגילות עבור הספרות 0 – 9, ובאותיות A – F עבור שש הספרות הבאות, כך ש A שווה ל 10 בייצוג דצימלי, B שווה ל11 וכך הלאה עד F שווה ל15. 10 בייצוג הקסה דצימלי, שווה ל16 בייצוג דצימלי. המספר ההקסה-דצימלי ABC, שווה ל3258 בייצוג דצימלי:
A(hex) = 10(dec) X 16(dec)0(=1) = 10(dec) + B(hex) = 11(dec) X 16(dec)1(=16) = 176(dec) + C(hex) = 12(dec) X 16(dec)2(=256) = 3072(dec) = 10 + 176 + 3072 = 3258
בסיס הקסה ומחשבים
כמו שנכתב למעלה, יחידה של שמונה ביטים נקראת בית. מחצית הבית, ארבעה ביטים, נקראת נִיבֶּל (nibble). ניבל אחד יכול לייצג מספרים מ0 עד 15. מזכיר לכם משהו? זהו בדיוק טווח הייצוג של ספרה הקסה דצימלית בודדת. בגלל התעלול המתימטי הזה, נוצר מצב מאוד נח: ניתן לייצג ערכי בתים על ידי צמד ספרות הקסה-דצימליות. כתיבה בבסיס בינארי מבלבלת מאוד, אבל לבסיס הקסה-דצימלי קל יחסית להתרגל.
בטבלה הבאה נראה כיצד ממירים בין ספרה הקסה דצימלית למספר בינארי:
| מספר הקסה-דצימלי | מספר עשרוני | מספר בינארי |
| 0 | 0 | 0 |
| 1 | 1 | 1 |
| 2 | 2 | 10 |
| 3 | 3 | 11 |
| 4 | 4 | 100 |
| 5 | 5 | 101 |
| 6 | 6 | 110 |
| 7 | 7 | 111 |
| 8 | 8 | 1000 |
| 9 | 9 | 1001 |
| A | 10 | 1010 |
| B | 11 | 1011 |
| C | 12 | 1100 |
| D | 13 | 1101 |
| E | 14 | 1110 |
| F | 15 | 1111 |
* המשפט לקוח מתוך הסרט הקצר "מבצע סבתא" של דרור שאול, הנה, כאן: