מחשוב בסיסי – חלק א\' מהו למעשה מחשב? מה הוא עושה כולנו יודעים – כל האחד ושימושיו הרבים לו – אך מהו למעשה אותו גולם וכיצד הוא פועל? במאמר זה, הראשון כאמור, תתרשמו קצת ממושגי יסוד שאולי שמעתם עליהם יותר ופחות – תלמדו אותם, תשננו אותם, ואכן, החל מהמאמר הבא, גם תממשו מעשיים יותר. כידוע, מחשבים פועלים בשיטה הבינארית. אך מהי למעשה השיטה הבינארית? בשיטה זו שני מספרים בלבד: \'0\' ו-\'1\'. אלו הם שני מצבים של מעגל – פתוח וסגור. 128 64 32 16 8 4 2 יח\' המספר 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 2 0 0 0 0 0 0 1 1 3 0 0 0 0 0 1 0 0 4 0 0 0 0 0 1 0 1 5 0 0 0 0 0 1 1 0 6 0 0 0 0 0 1 1 1 7 0 0 0 0 1 0 0 0 8 … … 1 0 0 0 0 0 1 1 131 … … 1 1 1 1 1 1 1 1 255
במאמר זה, הראשון בסדרת מאמרים שיצאו מעת לעת, ננסה להסב את תשומת ליבכם, ולו רק לרגע קט, להבנה מעמיקה טיפה יותר של מה היא למעשה אותה מכונה מופלאה וגאונית זו.
בבסיס כמו בבסיס – הבסיסיות במיטבה…
מהי השיטה הבינארית?
המספר 131 = 10000011
ב-8 ביט ניתן לייצג 256 מספרים בין \'0\' ל-\'255\' .
המספרים (2, 4, 8…) הם חזקות של 2.
כך למשל רוחב כתובות של 64 ביט = 18,446,744,073,709,551,616 (2^64, כולל 0).
אכן, השיטה הבינארית יעילה ביותר לאכסון מספרים, אגב בהקשר זה, למחשבי פנטיום ומעלה (Pentium Class) יש מרחב כתובות של 36 ביט (8 ג\'יגה), אומנם נראה הדבר כיום מופרז לזיכרון אבל בל נשכח לשפני כן, כשמרחב הכתובות היה 32 ביט (512 מגה) היה זה בזמנו מרחב דמיוני ואילו כיום 512 מגהבייט זיכרון לאו דווקא כמות חריגה במיוחד.
אנו, בני האדם, בחישובינו משתמשים בשיטה הדסימאלית לרישום מספרים. בשיטה הדסימאלית הבסיס 10 משמש לייצוג מספרים – ניקח שוב את המספר 131:
1 היא סיפרת האחדות, 3 העשרות ו 1 המאות – ניתן לרשום את זה כך:
1*100 + 3*10 + 1*1
ניקח 10 כבסיס החזקה ונרשום זאת כך:
1*10^2 + 3*10^1 + 1*10^0
כך אנו רואים למעשה כי בסיס החזקה לשיטתנו (הדסימלית) הוא 10. אין סיבה לוגית להשתמש בבסיס 10 במתמטיקה – למעשה פעמים רבות בסיסים אחרים טובים יותר, הסיבה, אגב (כנראה), ששיטה זו התפתחה היא משום שיש לנו 10 אצבעות. אילו התפתחנו ל 16 אצבעות (השיטה ההקסדסימאלית) למשל אזי הינו משתמשים בבסיס זה.
עוד בסיס חשוב במתמטיקה הוא הבסיס 8 (אוקטאלי), סתם כדרך אגב.
בשיטה הבינארית הבסיס הוא 2. ניתן גם לבנות מחשבים כך שלכל מעגל יהיה 10 מצבים (0..9) אבל למה? הרבה יותר קל, נוח וזול להשתמש בשני מצבים (פועל / מכובה – 1 / 0), כך המספר הבינארי 10000011 יהיה שווה ל:
1*2^7 + 0*2^6 + 0*2^5 + 0*2^4 + 0*2^3 + 0*2^2 + 1*2^1 + 1*2^0
כלומר:
1*128 + 0*64 + 0*32 + 0*16 + 0*8 + 0*4 + 1*2 + 1*1
כלומר 131!