Download as pdf or txt
Download as pdf or txt
You are on page 1of 63

‫ד"ר עמי האופטמן‬

‫מערכות ספרתיות‬
‫‪2021-2022‬‬

‫הרצאה ‪1‬‬
‫ייצוג מספרים ובסיסי ספירה‬

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

‫• הקדמה‬
‫– מטרות הקורס‬
‫– אדמיניסטרציות‬
‫– טיפים‬
‫• ייצוג מספרים ובסיסי ספירה‬

‫‪2‬‬
‫מטרות הקורס [‪]1‬‬
‫הבנת מבנה מחשב ספרתי ותכנון מעגלים בסיסי‬
‫• היכרות עם בסיסי ספירה ושימושיהם‬
‫– ביצוע פעולות חשבון בבסיסים שונים‬
‫• איפיון מעגלים בוליאניים לפתרון בעיות‬
‫– שימוש בשערים לוגיים‬
‫• שימוש באלגברה בוליאנית לפישוט ביטויים ומעגלים‬
‫– הבנת צורת קאנוניות ושימושיהן בצמצום‬
‫– שימוש במפות קרנו לצמצום ביטויים‬

‫‪3‬‬
‫מטרות הקורס [‪]2‬‬
‫הבנת מבנה מחשב ספרתי ותכנון מעגלים בסיסי‬
‫• תכנון מערכות צירופיות לפתרון בעיות "גדולות"‬
‫יותר‬
‫– חיבור ביטים בעזרת מעגל; תצוגה של שעון דיגיטאלי‬
‫• מימוש רכיבים יעילים יותר בעזרת אלגברה‬
‫בוליאנית‬
‫• הבנת עקרונות פעולה של מערכות עם זיכרון‬

‫‪4‬‬
‫אדמיניסטרציות‬
‫• מפגש שבועי ‪ 3‬שעות‬
‫– חלק מהזמן‪ :‬תרגול בכיתה‬
‫חובת מעבר‬ ‫• חלוקת הציון‬
‫– מבחן‪80% :‬‬
‫חובת הגשה‬
‫– תרגילי בית‪20% :‬‬
‫• ספרים – בסילבוס‬
‫– לא חובה – בעיקר לתרגול נוסף‬
‫• שעות קבלה בזום – לשלוח מייל ל‪:‬‬
‫– ‪amih@mail.sapir...‬‬
‫– אפשרי גם‪ :‬בהפסקה‪ ,‬אחרי השיעור (אם נחזור – ‪)11105‬‬
‫‪5‬‬
‫טיפים‬
‫• ‪ –16k‬מרוץ למיליון תוך כ‪ 6-‬שנים‬
‫• תחרות? – הכנה למרתון‪...‬‬
‫– חברים \ שותפים מהמכללה‬
‫– "יריבים" ‪ ‬להתאמן טוב יותר‬
‫לכתוב‪...‬‬
‫• לכוון לתעשייה‬
‫– להכיר טכנולוגיות בשוק‪ ,‬לקרוא – לבוא לסמינר‬
‫– לרכוש ניסיון בתעשייה‬
‫הבנה שונה מידע‬
‫• לימודים‬
‫– אימון רב‪" ,‬משחק" – לבד; עבודה עם השותפ\ה‬
‫• לשאול‪ ,‬לא לפחד\להתבייש לטעות‬
‫‪6‬‬
‫למידה מקוונת (כגיבוי)‬

‫• מצגת מפורטת‬

‫• הקלטות אודיו‬

‫• סיכומי שיעור (?)‬

‫‪7‬‬
‫תוכנית‬

‫• הקדמה‬
‫• ייצוג מספרים ובסיסי ספירה‬
‫– ייצוגים למספר‬
‫– בסיסי ספירה‬
‫– מעבר בין בסיסים‬
‫– פעולות חשבון‬

‫‪8‬‬
‫לספור על כף יד אחת‬
‫• עד איזה מספר אפשר לספור על כף יד אחת??‬

‫‪9‬‬
10
‫מספרים רומיים‬

1 I 11 XI 21 XXI 31 XXXI
2 II 12 XII 22 XXII .. …
3 III 13 XIII 23 XXIII .. …
4 IV 14 XIV 24 XXIV
5 V 15 XV 25 XXV
6 VI 16 XVI 26 XXVI
7 VII 17 XVII 27 XXVII
8 VIII 18 XVIII 28 XXVIII
9 IX 19 XIX 29 XXIX … …
10 X 20 XX 30 XXX 40 XL 50 L

11
‫שיטות ספירה מקומיות‬
‫• מספר מיוצג כרצף של ספרות‬
‫– האם השיטה הרומית היא כזו? מה טוב יותר לדעתכם?‬
‫(ספרת האחדות‪,‬‬ ‫• לכל מיקום במספר משייכים "משקל"‬
‫עשרות‪ ,‬מאות וכו')‬
‫• בשיטה העשרונית‪ :‬המשקל של כל ספרה הוא ‪10‬‬
‫בחזקת המיקום שלה (יחסית לנקודה העשרונית)‬
‫• הערך שמיוצג ע"י מספר הינו סכום הספרות מוכפלות‬
‫במשקלן‬

‫‪4903 = 4 × 103 + 9 × 102 + 0 × 101 + 3 × 100‬‬


‫‪12‬‬
‫שיטות ספירה מקומיות ‪ -‬המשך‬
‫• איך מייצגים מספר עשרוני לא‪-‬שלם?‬
‫– באותו אופן‪ .‬הספרות מימין לנקודה מקבלות משקל‬
‫שלילי לפי המיקום יחסית לנקודה העשרונית‪.‬‬
‫= ‪158. 7079‬‬
‫‪1 × 102 + 5 × 101 + 8 × 100 +‬‬
‫‪7 × 10−1 + 0 × 10−2 + 7 × 10−3 + 9 × 10−4‬‬
‫• באופן כללי‪ ,‬אם במספר קיימות‪:‬‬
‫– 𝑛 ספרות משמאל לנקודה ו‪ 𝑚-‬ספרות מימין לה‬
‫• מהי הנוסחא בעזרת סימן סיגמא?‬
‫𝑖‪. σ𝑛𝑖=−𝑚 𝑑𝑖 × 10‬‬ ‫‪ ‬הערך הוא‪:‬‬
‫‪13‬‬
‫ערך מיקומי של ספרה‬
‫• מיקום הספרה במספר ‪ ‬קובע משקל‬
‫– בד"כ מתייחסים אל הספרות כ‪"-‬הספרה הראשונה"‪,‬‬
‫"השניה"‪" ,‬השלישית"‪" ,... ,‬הראשונה אחרי הנקודה"‪,‬‬
‫"השניה אחרי הנקודה" וכו'‪.‬‬
‫• ספרות שמשקלן הקטן ביותר או הגדול ביותר‪:‬‬
‫– הספרה הפחות משמעותית ‪Least Significant‬‬
‫– הספרה המשמעותית ביותר ‪Most Significant‬‬

‫‪14‬‬
‫הכי משמעותית‬ ‫פחות משמעותית‬
Most Significant Least Significant

𝟓𝟒𝟑𝟎𝟑𝟗𝟕𝟓𝟐𝟖
𝟓𝟒𝟑𝟎𝟑. 𝟗𝟕𝟓𝟐𝟖
𝟐. 𝟒
𝟑
.‫ גם וגם‬-

15
‫תוכנית‬

‫• הקדמה‬
‫• ייצוג מספרים ובסיסי ספירה‬
‫– ייצוגים למספר‬
‫– בסיסי ספירה‬
‫– מעבר בין בסיסים‬
‫– פעולות חשבון‬

‫‪16‬‬
‫בסיסי ספירה‬

‫• עד עכשיו למדנו משהו חדש?‬

‫‪ 6‬הוא‬ ‫• בכמה ספרות השתמשנו עד היום?‬


‫"המשמעות"‬
‫– מערכת דצימאלית ("בסיס ‪)"10‬‬
‫– בד"כ מסמנים ע"י מספר קטן‪ ,‬למשל ‪ 6‬הוא ‪(6)10‬‬

‫‪17‬‬
‫בסיס ספירה ‪ -‬המשך‬

‫• בסיס ספירה )‪(Basis, Radix‬‬


‫– הוא קבוצת ספרות שונות (כולל ‪ )0‬המשמשות לייצוג‬
‫מספרים‬
‫– בשיטת ספירה מקומית‬
‫– בבסיס ‪ n‬קיימות ‪ n‬ספרות שונות‬

‫• דוגמא – בבסיס ‪ 10‬יש ‪ 10‬ספרות שונות‬


‫– לא כולל ‪10‬‬

‫‪18‬‬
‫בסיסי ספירה אחרים‬
‫• לא רק ‪ 10‬משמש כבסיס לספירה‬

‫• נניח שבמערכת קיימות רק ‪ 8‬ספרות – מה יקרה?‬


‫– עכשיו ‪ 6‬ייסומן ע"י )‪(6‬‬
‫‪8‬‬

‫• הספרות הן‪ 0 :‬עד?‬

‫• ‪0,1,2,3,4,5,6,7‬‬
‫– אם יש ‪ 8‬ספרות‪ ,‬אז ‪ 8‬אינו סיפרה‬
‫– כמו שבבסיס ‪ "10" ,10‬מיוצג ע"י ‪ 2‬ספרות‬
‫‪19‬‬
‫בסיס ‪8‬‬
‫• אז מה יקרה כשנגיע ל‪?8-‬‬
‫מדוע אין ‪?? 8‬‬
‫– ‪...,0,1,2,3,4,5,6,7‬‬

‫"המשמעות" של‬
‫• מה קורה כשמגיעים ל‪ 10-‬בבסיס ‪?10‬‬
‫‪(10)8‬‬
‫היא ‪10‬‬
‫• צריך עוד סיפרה!‬

‫• ‪ 8‬הוא ‪ 10‬בבסיס ‪ ,8‬כלומר ‪(8)10 = (10)8‬‬


‫– כלומר אחרי ‪" 7‬קופצים" ל‪10-‬‬
‫• זה אותו "‪ "10‬שהיה בבסיס ‪?10‬‬
‫• לא! הערך שונה (ראו למעלה באדום)‬
‫כמו‬ ‫–‬

‫‪20‬‬
‫בסיס ‪ - 8‬המשך‬
‫• אין ‪"  18,19‬קופצים" ל‪20-‬‬

‫• מהו המספר הדו ספרתי הגדול ביותר?‬


‫– ‪(77)8‬‬
‫– מהו הערך שלו? (כלומר הייצוג בבסיס ‪?)10‬‬

‫• יותר מאוחר נראה כיצד מחשבים‬

‫• מהו המספר התלת ספרתי הקטן ביותר?‬


‫מהי "המשמעות" ?‬ ‫מה הערך??‬ ‫• ‪(100)8‬‬
‫• לא מה שמכירים ‪(100)10‬‬ ‫‪21‬‬
‫ייצוג מספרים בבסיס כלשהו ‪ -‬המשך‬
‫• בהינתן מספר בבסיס 𝑟 ‪:‬‬
‫מעבר מבסיס ‪d‬‬
‫לבסיס ‪10‬‬ ‫𝑚‪𝑑𝑛−1 ⋯ 𝑑0 . 𝑑−1 𝑑−2 ⋯ 𝑑−‬‬
‫"המשמעות" שלו‬

‫• הערך המספרי שהוא מייצג נתון ע"י הנוסחא‪:‬‬


‫‪𝑛−1‬‬ ‫‪𝑛−1‬‬ ‫‪−1‬‬

‫𝑖 𝑟 × 𝑖 𝑑 ‪෍ 𝑑𝑖 × 𝑟 𝑖 = ෍ 𝑑𝑖 × 𝑟 𝑖 + ෍‬‬
‫𝑚‪𝑖=−‬‬ ‫‪𝑖=0‬‬ ‫𝑚‪𝑖=−‬‬

‫קבלת "המשמעות"‬ ‫• הערה‪ :‬ניתן להסתפק בביטוי השמאלי‬


‫‪ – 22‬הפירוק ל‪ 2-‬סכומים נוח יותר להבנה‬
‫ייצוג מספר ‪ -‬דוגמא‬
‫‪? (213)4‬‬ ‫• כייצד נייצג בבסיס ‪ 10‬את המספר‬

‫• זהו בסיס ‪ 4‬ולכן נבצע ‪:‬‬


‫= ‪)213(4‬‬
‫‪3 ∗ 40 + 1 ∗ 41 + 2 ∗ 42 = 3 + 4 + 32 = )39(10‬‬

‫• נשים לב כי הפעולות החשבוניות בוצעו בבסיס ‪10‬‬

‫‪23‬‬
24
‫בסיסים אחרים‬
‫• קיימים כמובן עוד בסיסים לייצוג מספרים‬
‫– למשל מספר בבסיס ‪ 5‬מורכב מהספרות ‪ 0 − 4‬בלבד‪.‬‬

‫• מה הערך של "‪ "10‬בתמונה? מהו הבסיס?‬

‫• בסיס בינארי (הגדרה‪ :‬בסיס ‪)2‬‬


‫– ספרות?‬
‫• רק שתיים‪.0,1 :‬‬
‫מדוע??‬
‫– חשוב מאוד במדעי המחשב‬
‫– יש עוד בסיסים חשובים‬
‫‪25‬‬
‫הצגת מספרים בבסיס בינארי‬

‫• מערכות דיגיטליות מורכבות מיחידות אלקטרוניות‪.‬‬


‫• מייחסים ערך ‪ 0‬למתח נמוך ו‪ 1-‬למתח גבוה (החלטה‬
‫מקובלת‪ ,‬אך אפשר היה גם להפך)‬
‫• בסיס ‪ 2‬נקרא כאמור בסיס בינארי‬
‫• מספרים בבסיס זה נקראים מספרים בינאריים‬
‫• ספרה בינארית נקראת "ביט" (‪ )Binary Digit‬ובעברית ‪:‬‬
‫סיבית‪.‬‬
‫• נתעניין בעיקר במספרים בינאריים‪,‬‬
‫לכן חשוב !‬ ‫– כי כך מיוצגים מספרים בפועל במחשב‬

‫‪26‬‬
‫נספור עד ‪ 15‬בבסיס בינארי‬

‫‪27‬‬
‫טווח מספרים בייצוג בינארי‬
‫כמה צירופים שונים קיימים עבור 𝑛 סיביות ("ספרות")?‬ ‫•‬
‫סיבית אחת‪0 ,1 :‬‬ ‫•‬
‫‪ 2‬סיביות‪00 ,01 ,10 ,11 :‬‬ ‫•‬
‫‪ 3‬סיביות‪000,001,010,011,100,101,110,111 :‬‬ ‫•‬
‫𝑛‪ 2‬צירופים ‪ ‬ניתן לייצג 𝑛‪ 2‬ערכים שונים‬ ‫•‬
‫המספר הקטן והמספר הגדול‪:‬‬ ‫•‬
‫‪• 000 ⋯ 002 = 0‬‬
‫…= ‪• 111 ⋯ 1112 = 20 + 21 + ⋯ + 2𝑛−2 + 2𝑛−1‬‬
‫מספר תתי הקבוצות??‬ ‫• ‪.2𝑛 − 1‬‬
‫‪28‬‬
‫הוכחת מספר הצירופים‬
‫• מספר הטבעיים בטווח כלשהו ]‪:[Min,Max‬‬
‫‪𝑀𝑎𝑥 – 𝑀𝑖𝑛 + 1‬‬
‫• טווח המספרים בבסיס ‪ 2‬בעלי ‪ n‬ספרות‪:‬‬
‫‪𝑀𝑖𝑛 = [000 ⋯ 00]2 = 010‬‬
‫?= ‪𝑀𝑎𝑥 = [111 ⋯ 111]2‬‬
‫• נשתמש בנוסחא לקבלת ערך מספר (בבסיס ‪)10‬‬
‫…= ‪𝑀𝑎𝑥 = 1 ∗ 20 + 1 ∗ 21 + ⋯ + 1 ∗ 2𝑛−2 + 1 ∗ 2𝑛−1‬‬
‫• נציב בנוסחא לסכום סידרה הנדסית‪:‬‬
‫‪𝑞𝑛 −1‬‬
‫= 𝑥𝑎𝑀‬ ‫‪𝑎1 𝑞−1‬‬
‫• ולאחר הצבת 𝑛 = 𝑛‪ 𝑞 = 2,𝑎1 = 1,‬נקבל ‪𝑀𝑎𝑥 = 2𝑛 − 1‬‬
‫נציב בנוסחא בראש העמוד ונקבל 𝒏𝟐 מספרים שונים‬
‫‪29‬‬
‫כמה ספרות נדרשות?‬
‫• כמה סיביות צריכים כדי לייצג מספר טבעי 𝑥?‬
‫• למשל‪. 9 = 10012 :𝑥 = 9 :‬‬
‫• כדי לייצג את ‪ ,9‬צריכים לפחות ארבע סיביות‪.‬‬

‫• האם יש נוסחא כללית עבור מספר הספרות‬


‫הבינאריות הדרושות ליצוג מספר עשרוני?‬

‫• כיצד מקבלים את מספר הספרות בבסיס ‪?10‬‬


‫‪~log10‬‬ ‫)‪(x‬‬ ‫‪log10 (100)=2 log10 (101)=2.001 •30‬‬
‫מספר הספרות הנדרשות בבסיס ‪2‬‬
‫‪x‬‬ ‫‪Bin‬‬ ‫)‪Digits log2(x‬‬ ‫𝑥 ‪log 2‬‬
‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪Undef‬‬ ‫‪Undef‬‬
‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0.000‬‬ ‫‪0‬‬
‫‪2‬‬ ‫‪10‬‬ ‫‪2‬‬ ‫‪1.000‬‬ ‫‪1‬‬
‫‪3‬‬ ‫‪11‬‬ ‫‪2‬‬ ‫‪1.585‬‬ ‫‪2‬‬
‫‪4‬‬ ‫‪100‬‬ ‫‪3‬‬ ‫‪2.000‬‬ ‫‪2‬‬
‫‪5‬‬ ‫‪101‬‬ ‫‪3‬‬ ‫‪2.321‬‬ ‫‪3‬‬
‫‪6‬‬ ‫‪110‬‬ ‫‪3‬‬ ‫‪2.585‬‬ ‫‪3‬‬
‫‪7‬‬ ‫‪111‬‬ ‫‪3‬‬ ‫‪2.804‬‬ ‫‪3‬‬
‫‪8‬‬ ‫‪1000‬‬ ‫‪4‬‬ ‫‪3.000‬‬ ‫‪3‬‬
‫סיביות‬
‫באופן כללי‪ ,‬מספר הספרות אינו גדול מ ‪log 2 𝑥 + 1‬‬ ‫•‬
‫‪31‬‬
‫לספור על כף יד אחת‬
‫• עד איזה מספר אפשר לספור על כף יד אחת??‬

‫• בואו נבדוק את העניין‪...‬‬

‫‪32‬‬
33
‫מספרים אוקטאליים והקסאדצימאליים‬
‫• בסיסים שהם חזקות של ‪ :2‬גם חשובים‬
‫– בשל נוחות הכתיבה ועוד סיבות (נראה בהמשך)‬
‫• ראינו ‪ -8‬בלטינית‪ .Octa :‬בסיס אוקטאלי‪Oct ,‬‬
‫• ‪ -16‬בלטינית‪ .Hexadeca :‬בסיס הקסאדצימאלי‪,‬‬
‫‪( .Hex‬נקרא "הֶ קסָ ה" למרות ש‪ Hexa-‬זה ‪ 6‬בלטינית)‬

‫• בבסיס ‪ 8‬משתמשים בספרות ‪.0 − 7‬‬


‫• בבסיס ‪ 16‬משתמשים בספרות ‪??? ...‬‬
‫‪34‬‬
‫בסיס ‪( 16‬הקסא‪-‬דצימאלי)‬
‫• בבסיס זה יש לנו בעיה חדשה‬
‫• אין מספיק ספרות עשרוניות‬
‫– מה עושים?‬
‫– מהי הספרה הראשונה שאין לה ייצוג עשרוני?‬
‫• מוסיפים אותיות‪:‬‬
‫– ‪(A)16 = (10)10‬‬
‫– ‪(B)16 = (11)10‬‬
‫– ? …‬
‫• הספרה האחרונה‪(15)10 = (F)16 :‬‬

‫‪35‬‬
Dec Bin Oct Hex Dec Bin Oct Hex
0 000 00 0 8 1000 10 8
1 001 01 1 9 1001 11 9
2 010 02 2 10 1010 12 A
3 011 03 3 11 1011 13 B
4 100 04 4 12 1100 14 C
5 101 05 5 13 1101 15 D
6 110 06 6 14 1110 16 E
7 111 07 7 15 1111 17 F
?‫המספר הבא‬

36
‫תוכנית‬

‫• הקדמה‬
‫• ייצוג מספרים ובסיסי ספירה‬
‫– ייצוגים למספר‬
‫– בסיסי ספירה‬
‫– מעבר בין בסיסים‬
‫– פעולות חשבון‬

‫‪37‬‬
‫אילו מעברים בין בסיסים ביצענו?‬
‫• ספרנו בבסיסים ‪8,2,16‬‬
‫– ביצענו המרה של מספרים קטנים בבסיס ‪ 10‬לבסיסים אלו‬
‫מציאת הערך‬

‫• עברנו מבסיס ‪ d‬כלשהו לבסיס ‪: 10‬‬


‫– ע"י הכפלת כל סיפרה ב‪ d-‬בחזקה המתאימה‬

‫שאלות שעדיין לא ענינו עליהן‪:‬‬


‫– כיצד מעבירים מבסיס ‪ 10‬לבסיס אחר?‬
‫למשל‪ ,‬מ‪ 2-‬ל‪8-‬‬
‫– כיצד עוברים בין בסיסים השונים מ‪?10-‬‬
‫‪38‬‬
‫)‪Binary (2) Octal (8‬‬
‫• נתחיל עם תרגום של מספרים אוקטליים המיוצגים‬
‫ע"י ספרה בודדת‪.‬‬
‫‪Oct.‬‬ ‫‪Bin.‬‬ ‫‪Oct.‬‬ ‫‪Bin.‬‬
‫‪0‬‬ ‫‪0‬‬ ‫‪4‬‬ ‫‪100‬‬
‫‪1‬‬ ‫‪1‬‬ ‫‪5‬‬ ‫‪101‬‬
‫‪2‬‬ ‫‪10‬‬ ‫‪6‬‬ ‫‪110‬‬
‫‪3‬‬ ‫‪11‬‬ ‫‪7‬‬ ‫‪111‬‬

‫• כמה ספרות בינאריות מספיקות כדי לייצג ספרה‬


‫מדוע?‬ ‫אוקטאלית בודדת?‬
‫‪39‬‬
‫)‪Binary (2) Octal (8‬‬
‫• לדוגמא‪:‬‬
‫‪158 = 1 ∗ 81 + 5 ∗ 80 = (13)10 = (1101)2‬‬
‫למשל בעזרת טבלא‬ ‫נוסיף אפסים‪:‬‬
‫‪= 001 101 = ถ‬‬ ‫‪001 1ต‬‬‫‪01‬‬
‫‪1‬‬ ‫‪5‬‬
‫מדוע זה מתקיים?‬

‫• ‪8 = 23‬‬
‫– ולכן כל ספרה אוקטאלית מתורגמת ל‪ 3-‬ספרות בינאריות‬
‫אשר מייצגות את הערך של אותה ספרה‪.‬‬
‫‪40‬‬
‫בינארי‪‬אוקטאלי‬ ‫הוכחה (חלקית)‬
‫• נתרגם מספר בינארי לייצוג בבסיס ‪:10‬‬
‫‪𝑏𝑛−1 … 𝑏1 𝑏0 = 2𝑛−1 𝑏𝑛−1 + 2𝑛−2 𝑏𝑛−2 + ⋯ + 20 𝑏0‬‬

‫• נקבץ את הספרות לקבוצות של ‪:3‬‬


‫‪= 20 (20 𝑏0 + 21 𝑏1 + 22 𝑏2 ) +‬‬
‫‪23 (20 𝑏3 + 21 𝑏4 + 22 𝑏5 ) +‬‬
‫‪...‬‬
‫) ‪2𝑛/3 (20 𝑏𝑛−3 + 21 𝑏𝑛−2 + 22 𝑏𝑛−1‬‬
‫• נשכתב את הגורמים מחוץ לסוגריים כחזקות של ‪ ,8‬ונקבל‬
‫ייצוג בבסיס ‪8‬‬
‫– הביטויים שבתוך הסוגריים הם בין ‪ 0‬ל ‪7‬‬
‫‪ –41‬והם הייצוג של כל ספרה אוקטאלית בנפרד בסיס ‪2‬‬
‫)‪Binary (2) Octal (8‬‬
‫• דוגמאות נוספות‪:‬‬
‫‪17068 = 0ต‬‬
‫‪01 1ต‬‬
‫‪11 0ต‬‬
‫‪00 110‬‬
‫‪ถ2‬‬
‫‪1‬‬ ‫‪7‬‬ ‫‪0‬‬ ‫‪6‬‬
‫• עבור ‪ (2754)8‬נקבל ?‬
‫‪010 111 101 100‬‬
‫• מהו ערכו של ‪? (36.106)8‬‬

‫‪35.1068 = 0ต‬‬
‫‪11 1ต‬‬
‫‪01 ณ. 0ต‬‬
‫‪01 0ต‬‬
‫‪00 110‬‬
‫‪ถ2‬‬
‫‪3‬‬ ‫‪5‬‬ ‫‪.‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪6‬‬
‫‪42‬‬
‫הפוך )‪Binary (2)  Octal (8‬‬
‫• כל ‪ 3‬ספרות בינאריות מהוות ספרה אוקטאלית‬
‫אחת‪ ,‬שערכה הוא המספר שהספרות הבינאריות‬
‫‪Padding‬‬
‫מייצגות בבסיס ‪.2‬‬
‫מה חסר?‬ ‫האם להתחיל משמאל או מימין?‬ ‫• דוגמא‬
‫? ? ? = ‪10001100111012‬‬
‫= ‪0010001100111012‬‬
‫= ‪0010001100111012‬‬
‫‪1 0 6 3 5 8‬‬
‫• למעשה חייבים להתחיל מימין‬
‫‪43‬‬
‫הפוך )‪Binary (2)  Octal (8‬‬
‫• דוגמא‪ -‬שבר (עשרוני? בינארי?) ‪:‬‬
‫? ? ? = ‪10.00111012‬‬ ‫כיצד נבצע ‪? padding‬‬

‫= ‪010.0011101002‬‬
‫= ‪010.0011101002‬‬
‫‪2 . 1 6 48‬‬
‫• כיצד משלימים אפסים ?)‪(padding‬‬
‫– משמאל לנקודה ‪ ‬משמאל‬
‫– מימין לנקודה ‪ ‬מימין‬

‫‪44‬‬
‫‪Bin.  Hexa.‬‬
‫• ‪16 = 24‬‬
‫• כל ספרה הקסדצימאלית מתורגמת ל‪ 4-‬ספרות‬
‫בינאריות שמייצגות את הערך של אותה ספרה‪.‬‬

‫‪B89F0316 = 1011 1000 1001 1111 0000 0011 2‬‬


‫𝐵‬ ‫‪8‬‬ ‫‪9‬‬ ‫𝐹‬ ‫‪0‬‬ ‫‪3‬‬
‫‪F5.0A316 = 1111 0101 ณ. 0000 1010 0011 2‬‬
‫𝐹‬ ‫‪5‬‬ ‫‪.‬‬ ‫‪0‬‬ ‫𝐴‬ ‫‪3‬‬
‫• הוכחה‪ :‬בדומה למעבר בין בסיסים ‪ 2‬ו‪8-‬‬
‫‪ – 45‬מקבצים לקבוצות של ‪ 4‬במקום ‪3‬‬
‫‪Bin.  Hexa.‬‬
‫• כל ‪ 4‬ספרות בינאריות מוחלפות ע"י ספרה‬
‫הקסדצימאלית אחת שערכה הוא המספר שהספרות‬
‫מייצגות בבסיס ‪.2‬‬

‫? ? ? = ‪1001110010110112‬‬
‫= ‪01001110010110112‬‬
‫= ‪01001110010110112‬‬
‫‪4‬‬ ‫‪E‬‬ ‫‪5‬‬ ‫‪B 16‬‬

‫‪46‬‬
‫‪Bin.  Hexa.‬‬
‫• דוגמא נוספת‪:‬‬

‫? ? ? = ‪110.110101010112‬‬
‫= ‪0110.1101010101102‬‬
‫= ‪0110.1101010101102‬‬
‫‪6 . D‬‬ ‫‪5‬‬ ‫‪6 16‬‬

‫‪47‬‬
‫𝑟 ‪Dec.  Base‬‬
‫• כבר ראינו קודם כי בהינתן מספר בבסיס 𝑟‪:‬‬
‫𝑚𝑑 ⋯ ‪𝑑𝑛−1 𝑑𝑛−2 ⋯ 𝑑0 . 𝑑−1 𝑑−2‬‬
‫‪.σ𝑛−1‬‬‫𝑖 𝑚‪𝑖=−‬‬‫𝑑‬ ‫×‬ ‫𝑟‬ ‫𝑖‬
‫• הערך המספרי שהוא מייצג הינו‬
‫לא‪...‬‬ ‫• האם בדוגמאות האחרונות חישבנו ערך??‬

‫• מה לגבי 𝑟 ‪??? Dec.  Base‬‬


‫עוד לפני שענינו על השאלה הנ"ל‪-‬‬
‫מעבר בין ייצוג אוקטאלי‪ ,‬הקסדצימאלי‬
‫ובינארי היה קל‪ .‬מדוע???‬
‫‪48‬‬
‫𝑟 ‪Dec.  Base‬‬
‫‪ r‬כלשהו‬

‫• יותר קשה !! שיטת החלוקה‪:‬‬


‫• מחלקים את המספר הדצימאלי בבסיס החדש‪,𝑟 ,‬‬
‫ורושמים‪ :‬תוצאה ושארית‪.‬‬
‫• את התוצאה מחלקים שוב בבסיס‪ ,‬כאשר שוב‬
‫רושמים תוצאה ושארית‪ ,‬וכך הלאה עד שהתוצאה‬
‫המתקבלת היא ‪.0‬‬
‫• סדרת השאריות שהתקבלה היא המספר החדש‬
‫בבסיס 𝒓 כאשר הספרה הראשונה שהתקבלה‬
‫היא הספרה הפחות משמעותית‪.‬‬

‫‪49‬‬
‫דוגמא‪3710 =? ? ?2 :‬‬

‫שארית‬ ‫תוצאה‬ ‫חישוב‬ ‫מספר‬


‫הפחות‬ ‫‪1‬‬ ‫‪18‬‬ ‫‪37 ÷ 2‬‬ ‫‪37‬‬
‫משמעותית‬ ‫‪0‬‬ ‫‪9‬‬ ‫‪18 ÷ 2‬‬ ‫‪18‬‬
‫‪1‬‬ ‫‪4‬‬ ‫‪9÷2‬‬ ‫‪9‬‬
‫‪0‬‬ ‫‪2‬‬ ‫‪4÷2‬‬ ‫‪4‬‬
‫הכי‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪2÷2‬‬ ‫‪2‬‬
‫משמעותית‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪1÷2‬‬ ‫‪1‬‬

‫𝟐𝟏𝟎𝟏𝟎𝟎𝟏 = 𝟎𝟏𝟕𝟑‬ ‫בתוצאה ‪ 0‬עוצרים‬


‫‪50‬‬
‫דוגמא‪30875110 =? ? ?16 :‬‬

‫שארית‬ ‫תוצאה‬ ‫חישוב‬ ‫מספר‬


‫הפחות‬ ‫𝐹 = ‪15‬‬ ‫‪19296‬‬ ‫‪308751 ÷ 16‬‬ ‫‪308751‬‬
‫משמעותית‬ ‫‪0‬‬ ‫‪1206‬‬ ‫‪19296 ÷ 16‬‬ ‫‪19296‬‬
‫‪6‬‬ ‫‪75‬‬ ‫‪1206 ÷ 16‬‬ ‫‪1206‬‬
‫𝐵 = ‪11‬‬ ‫‪4‬‬ ‫‪75 ÷ 16‬‬ ‫‪75‬‬
‫הכי‬ ‫‪4‬‬ ‫‪0‬‬ ‫‪4 ÷ 16‬‬ ‫‪4‬‬
‫משמעותית‬

‫𝟎𝟏𝟏𝟓𝟕𝟖𝟎𝟑‬ ‫בתוצאה ‪0‬‬


‫𝟔𝟏𝑭𝟎𝟔𝑩𝟒 =‬ ‫עוצרים‬
‫‪51‬‬
‫דוגמא‪30875110 =? ? ?7 :‬‬

‫שארית‬ ‫תוצאה‬ ‫חישוב‬ ‫מספר‬


‫הפחות‬ ‫‪2‬‬ ‫‪44107‬‬ ‫‪308751 ÷7‬‬ ‫‪308751‬‬
‫משמעותית‬ ‫‪0‬‬ ‫‪6301‬‬ ‫‪44107 ÷ 7‬‬ ‫‪44107‬‬
‫‪1‬‬ ‫‪900‬‬ ‫‪6301 ÷ 7‬‬ ‫‪6301‬‬
‫‪4‬‬ ‫‪128‬‬ ‫‪900 ÷ 7‬‬ ‫‪900‬‬
‫‪2‬‬ ‫‪18‬‬ ‫‪128 ÷ 7‬‬ ‫‪128‬‬
‫הכי‬
‫‪4‬‬ ‫‪2‬‬ ‫‪18 ÷ 7‬‬ ‫‪18‬‬
‫משמעותית‬
‫‪4‬‬ ‫‪0‬‬ ‫‪4÷7‬‬ ‫‪2‬‬

‫𝟎𝟏𝟏𝟓𝟕𝟖𝟎𝟑‬ ‫בתוצאה ‪0‬‬


‫𝟕𝟐𝟎𝟏𝟒𝟐𝟒𝟒 =‬ ‫עוצרים‬ ‫‪52‬‬
‫יותר קל לי לחלק ב‪ 2-‬מאשר ב‪...16-‬‬
‫• בחישוב ידני יותר קל לנו לחלק ב‪ 2-‬מאשר ב‪ 8-‬או ב‪.16-‬‬

‫• כדי להעביר מספר ‪ 10‬לבסיס ‪ 8‬או ‪:16‬‬


‫– שלב ‪ :1‬מעבר לבסיס ‪( 2‬נקבל יותר ספרות‪ ,‬אבל החישוב‬
‫פשוט יותר)‪,‬‬
‫– שלב ‪ :2‬מעבר לבסיס הרצוי‪ ,‬ע"י קיבוץ הספרות הבינאריות‪.‬‬

‫‪53‬‬
‫דוגמא למעבר בבסיס ‪2‬‬

‫• דוגמא‪ :‬למשל נמיר את ‪ 53‬לבסיס ‪ 8‬ולבסיס ‪ 16‬בשתי‬


‫דרכים‬

‫תרגיל‬ ‫• דרך ‪1‬‬


‫– חלוקות ב ‪ ,8‬חלוקות ב ‪16‬‬

‫• דרך ‪2‬‬
‫– קודם נמיר לבסיס ‪ – 2‬חילוק קל וארוך (יותר ספרות)‬
‫– אח"כ נקבץ ספרות‪ :‬שלשות לבסיס ‪ ,8‬רביעיות לבסיס ‪16‬‬
‫‪54‬‬
‫סיכום‬

‫ע"י קיבוץ ספרות‬ ‫• בסעיף זה למדנו‪:‬‬


‫– לעבור בין בסיסים המהווים חזקות שלמות של ‪2‬‬
‫ע"י חלוקה בבסיס‬ ‫– לעבור מבסיס ‪ 10‬לבסיס כלשהו‬
‫• לעתים נעבור קודם לבסיס ‪ 2‬ואז לבסיס הרצוי‬

‫‪55‬‬
‫תוכנית‬

‫• הקדמה‬
‫• ייצוג מספרים ובסיסי ספירה‬
‫– ייצוגים למספר‬
‫– בסיסי ספירה‬
‫– מעבר בין בסיסים‬
‫– פעולות חשבון‬

‫‪56‬‬
‫חיבור‬
‫• חיבור של שתי ספרות נעשה כמו שאנחנו רגילים‬
‫ממספרים דצימאליים עם נ ֶֶשא‪.‬‬
‫• לדוגמא‪ ,‬חיבור בינארי של שתי ספרות‪:‬‬
‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬
‫‪+ 0‬‬ ‫‪+ 1‬‬ ‫‪+ 0‬‬ ‫‪+ 1‬‬
‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪10‬‬

‫‪57‬‬
‫חיבור בינארי‬
‫• מתחילים בספרה הפחות משמעותית‪.‬‬
‫• בכל שלב יכול להיות נ ֶֶשא (‪)cout : carry out‬‬
‫שהתקבל כתוצאה מהחישוב הקודם ועובר כקלט‬
‫(‪ )cin : carry in‬אל החישוב הבא‪.‬‬
‫𝟏‬ ‫𝟏𝟏𝟏𝟏‬ ‫𝟏𝟏𝟏‬
‫‪1001‬‬ ‫‪101‬‬ ‫‪11011‬‬ ‫‪10111‬‬
‫‪+‬‬ ‫‪10‬‬ ‫‪+ 1001‬‬ ‫‪+ 101‬‬ ‫‪+ 111‬‬
‫‪1011‬‬ ‫‪1110‬‬ ‫‪100000‬‬ ‫‪11110‬‬
‫תרגיל‪...‬‬

‫‪58‬‬
‫חיבור בבסיסים שונים‬
‫• באופן כללי‪ ,‬שיטת החיבור הבסיסית הזו נכונה עבור חיבור‬
‫מספרים בכל בסיס שהוא‪.‬‬
‫כאשר תוצאת החיבור של שתי ספרות ו‪ cin-‬אפשרי גדולה או‬
‫נשא‬ ‫שווה לבסיס‪ ,‬אזי יש ‪.cout‬‬

‫• לדוגמא‪ ,‬חיבור מספרים הקסדצימאליים‪:‬‬

‫𝟏 𝟏‬ ‫𝟏𝟏𝟏‬
‫‪1091‬‬ ‫‪3𝐴7‬‬ ‫𝐹𝐹‪70𝐴1‬‬
‫‪+‬‬ ‫‪10‬‬ ‫𝐶‪+ 𝐷𝐴𝐹0‬‬ ‫𝐹𝐹𝐹 ‪+‬‬
‫‪10𝐴1‬‬ ‫‪𝐷𝐵2𝐵3‬‬ ‫𝐸𝐹‪70𝐵1‬‬

‫‪59‬‬
‫חיסור‬
‫• חיסור של שתי ספרות נעשה כמו שאנחנו רגילים‬
‫ממספרים דצימאליים עם הלוואה‪.‬‬

‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪10‬‬


‫‪− 0‬‬ ‫‪− 1‬‬ ‫‪− 0‬‬ ‫‪− 1‬‬
‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬

‫𝟎‬ ‫𝟎‬ ‫𝟏‬ ‫𝟏‬


‫𝟎 ‪+‬‬ ‫𝟏 ‪+‬‬ ‫𝟎 ‪+‬‬ ‫𝟏 ‪+‬‬
‫𝟎‬ ‫𝟏‬ ‫𝟏‬ ‫𝟎𝟏‬

‫‪60‬‬
‫חיסור‬
‫• מתחילים בספרה הפחות משמעותית‪.‬‬
‫• בכל שלב יתכן שנצטרך "ללוות" יחידה מהספרה‬
‫הבאה‬
‫– וכתוצאה מכך‪ ,‬להקטין את הספרה הבאה ביחידה‬
‫אחת‬
‫• נשים לב‪ -‬ייתכן שבשביל להלוות לנו‪ ,‬הספרה‬
‫הבאה תצטרך ללוות מזו שאחריה וכו'‪.‬‬

‫‪61‬‬
10
0 1 1 0 10

1 1 0 1 1 0 0 1 0 1

1 0 0 0 1 1 1 1 1
1 0 0 1 0 0 0 1 1 0

62
‫סוף‬

‫‪63‬‬

You might also like