היום נדבר על הנושאים:
- יצוג מספרים טבעיים
- מעבר בין בסיסים
- אריתמטיקה
- ייצוג מספרים שליליים בשיטת המשלים ל-2
- נקודה צפה -
- קודים בינארים לקידוד ספרות בבסיס 10
- קודים ציקלים
הבסיס העשרוני
נסמן בסיס כמספר מימין לסוגריים.
מיקום הספרה קובע את החזקה שהיא תקבל. הבסיס הוא מה שמעלים בחזקה, כאשר הוא המשקל של הספרה.
לכל מספר בכל בסיס מתקיים:
כאשר הוא המשקל של הספרה ה--ית: ו- הוא הספרה ה--ית: .
מעבר מבסיס לבסיס
- בסיס בינאיר :
- אם זה שבר בבסיס בינארי:
- בסיס הקסדצימלי :
מעבר מבסיס לבסיס כלשהו
בכל שלב מחלקים בבסיס . השארית מהווה ספרה במספר החדש בעוד שהמנה מועברת לשלב הבא.
נמצא את הייצוג של בבסיס :
השארית שלנו היא 4 ולכן .
לכן, .
ולכן, .
קיבלנו את המספר:
מעבר בין בסיסים
בכללי, אם עוברים בין סתם שני בסיסים, נדרש לעבור לבסיס ואז מ- לבסיס אליו אנו רוצים להגיע. אך אם הבסיסים הם חזקה אחד של השני, ישנה דרך קלה להעביר ביניהם.
נשים לב כי .
הסיבה לכך שאנו יכולים לעשות את זה היא כי בעצם כל בלוק שכזה הוא ספרה אחת בבסיס האחר.
אריטמטיקה בבסיסים שונים
חיבור וחיסור בבסיס 2
חיבור בבסיס 16
שיטת המשלים ל-2
בשיטה זו, כל מספר מכיל סיבית סימן שמסמנת אם המספר הוא שלילי או חיובי. שאר הסיביות מייצגות את הערך הבינארי של המספר או את המשלים לערך הבינארי ועוד אחד.
הביט הכי קטן נקרא least significant bit() והביט הכי גדול נקרא most significant bit().
הביט הכי גדול יהיה הסימן שלנו כאשר אומר שהמספר חיובי בעוד ש- אומר שהמספר שלילי.
המספר באופן רגיל הוא . אך בשיטת המשלים ל-.
מסמל שהמספר שלילי כי הוא בביט הכי גדול(most significant) ואז אנחנו נוסיף אחד להיפוך של הביטים:
ולכן המספר בשיטת המשלים ל- הוא .
טווח הייצוג של השיטה הינה: .
יתרונות השיטה הינם:
- חיבור/חיסור פשוטים: אם יש פשוט מתעלמים ממנו.
- יצוג בודד לאפס.
זורקים את ה- בקופסא הזה, הוא ה-.
חיבור שני מספרים שליליים עלול להביא לתוצאה חיובית, כלומר לגלישה(הסימן ימצא רק ב- אותו אנו זורקים)
איך נתקן את הבעיה? באמצעות : הוספת סיביות למספר ע"י שכפול הסיבית ה- עד למילוי כל הסיביות שנוספו.
הרחבה לייצוג של מ- סיביות ל- סביות יהיה .
הרחבה לייצוג של מ- סיביות ל- סיביות יהיה .
הערך המקסימלי שמייצג מספר בינארי בין סיביות לא מכוון הוא (כארבעה מיליארד)
ומכוון? בין עד .
נקודה צפה -
השיטה מאפשרת ייצוג של מספר גדול מאוד או קטן מאוד במעט סיביות (בדוגמה: )
נתון מערכת: . (בכל מערכת שונה)
אם האקספוננט(מסומן ב-) מקיים אז המספר יהיה Normalized ונוסחתו תהא:
אך אם מתקיים:
נניח המספר:
מכיוון ש- המספר חיובי.
אם נרצה לייצג את המספר בהקסא, כיצד נכתוב אותו?
נחלק את המספר המקורי(כן, זה שבזיכרון) לרביעיות ונשתמש בשיטה למעבר בין בסיסים שהם חזקה אחד של השני.
אגב, הסימון פשוט אומר שזה בסיס 16 - והוא אינו משפיע על הערך.
חשוב: אם אזי אחד מההבאים מתקיים:
- אם אז מייצג .
- אחרת, מייצג מספר לא קיים .
הדיוק של :

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

נבדיל ביו ייצוג המספר 16 בבסיס בינארי: לבין יצוג המספר 16 בקוד :
כאשר מייצג 1 ו- מייצג 6.
קודים ציקלים
מילת קוד של ספרה כלשהי שונה ממילת הקוד של הספרה שלפניה ואחריה בסיבית אחת בלבד.
קוד באורך 2:
קוד באורך 3:
בואו נרחיב את קוד Gray: משקפים את השורות הקיימות כמראה אופקית ומוסיפים עמודה:

המרה מקוד בינארי לקוד
הקדמה ל- שבקורס הזה ישמש אותנו כ-
ההמרה בעצם מתבצעת כך:

ההמרה מ- לבינארי תעשה אותו הדבר רק הפוך:
כשאר ההמרה בעצם מתבצעת כך:

תרגול
נתונים שלושת המספרים הבאים המיוצגים בבסיסים שונים:
בנוסף נסמן את הספרות הגדולות מ- באופן הבא:
מבין התשובות הבאות, מהם הערכים האפשריים ל- כך שהמשוואה תהיה תקינה?
א.
ב.
ג.
ד.
ה. תשובות א' ו-ג' נכונות.
לפי שיטת מעבר בין בסיסים שהם חזקה, נחלק את המספר לחלקים של 2: ו- ואז ו-.
נראה לי שפה ישר אפשר להגיע ל-ג' בגלל ש- כי נמצא בשני הבסיסים ככל הנראה :)
איך שהמתרגל עשה את זה:
ולכן התשובה היא ג'.
סטודנט מעוניין לבצע חיבור בין שני מספרים המיוצגים כ-Floating Point.
הייצוג בו הסטודנט משתמש בעל ו-8 סיביות באופן הבא:
- ה- היא סיבית הסימן
- 3 הסיביות הבאות מייצגות את האקספוננט
- 4 הסיביות ה- הן המנטיסה.
המספרים הנתונים הם:
הסטודנט מעוניין לייצג את החלק השלם של תוצאת החיבור בשיטת משלים ל-2 ע"י שימוש במספר סיביות קטן ככל האפשר.
מה התוצאה שיקבל הסטודנט? .
א. 0110101
ב. 1111101
ג. 1001011
ד. 1000000
ה. 11111101
נהפוך את שני המספרים לבסיס עשרוני באמצעות ה-.
נפרק את :
ולכן התשובה היא ג' עוד פעם.