מבוא למחשב בשפת matlab תרגול 2: ייצוג מספרים - המשך נכתב...

17
תתתת תתתתת תתתתMatlab תתתתת2 תתתת- תתתתת תתתתתת: ץץץ ץץץ ץץץ, ץץץץ ץץץץץץץ, ץץץץ ץץץץץץ ץץץץץץ ץץץץץץץ- ץץץץ ץץ © ץץ ץץץץץץץ ץץץץץץ ץץץץץץץ – ץץץץ ץץץץץץץץ ץץץץץץ

Post on 22-Dec-2015

310 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: מבוא למחשב בשפת Matlab תרגול 2: ייצוג מספרים - המשך נכתב על-ידי רמי כהן, אולג רוכלנקו, איתן אביאור ולימור

Matlabמבוא למחשב בשפת

: ייצוג מספרים - המשך2תרגול

נכתב על-ידי רמי כהן, אולג רוכלנקו, איתן אביאור ולימור ליבוביץ© כל הזכויות שמורות לטכניון – מכון טכנולוגי לישראל

Page 2: מבוא למחשב בשפת Matlab תרגול 2: ייצוג מספרים - המשך נכתב על-ידי רמי כהן, אולג רוכלנקו, איתן אביאור ולימור

2תרגול 2 מבוא למחשב בשפת מטלאב. כל הזכויות שמורות

שמות לסיביות

סיביות בדיוק.Nנתרכז בייצוג מספרים בשיטה בינארית ב-•.N−1 ... 0הסיביות ממוספרות •הסיבית הפחות , נקראת 0הסיבית הימנית, זו שמספרה •

(.Least Significant Bit – LSB )משמעותיתהסיבית היותר , נקראת N−1הסיבית השמאלית, זו שמספרה •

(.Most Significant Bit – MSB )משמעותית

MSB

Page 3: מבוא למחשב בשפת Matlab תרגול 2: ייצוג מספרים - המשך נכתב על-ידי רמי כהן, אולג רוכלנקו, איתן אביאור ולימור

3

ייצוג מספרים בעלי סימן - שיטת גודל וסימן

בשיטה זו כל מספר מכיל סיבית סימן שמסמנת אם המספר הוא •שלילי או חיובי.

שלו גודל המספר, ושאר הסיביות את הסימן מייצגת את MSBה-•)ערכו המוחלט(.

לדוגמה,•–1111 -7, 0111 7 )4=N(.

2תרגול מבוא למחשב בשפת מטלאב. כל הזכויות שמורות

dN-1 dN-2 … d0

סימן-חיובי0-שלילי1

ערך מוחלט של המספר

חסרונות יתרונות

פעולות חשבון מסובכות יחסית•0..100”=0“-, 0..000”=0“+ייצוג כפול לאפס: •

שיטה פשוטה וקלה לביצוע•

Page 4: מבוא למחשב בשפת Matlab תרגול 2: ייצוג מספרים - המשך נכתב על-ידי רמי כהן, אולג רוכלנקו, איתן אביאור ולימור

2תרגול 4 מבוא למחשב בשפת מטלאב. כל הזכויות שמורות

סיביות4שיטת גודל וסימן – הדגמה עבור

0000

0010

0100

0110

1000

1010

1100

1110

0011

0101

0111

1111 0001

1101

1011

1001

+0

−1

−2

−3

−4

−5

−6

−7

+1

+2

+3+4

+5

+6

+7−

0

Page 5: מבוא למחשב בשפת Matlab תרגול 2: ייצוג מספרים - המשך נכתב על-ידי רמי כהן, אולג רוכלנקו, איתן אביאור ולימור

2תרגול 5 מבוא למחשב בשפת מטלאב. כל הזכויות שמורות

שיטת המשלים לאחד

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

הבינארי של המספר או את המשלים לערך הבינארי.

לדוגמה,•–1000 -7, 0111 7 )4=N( .

dN-1 dN-2 … d0

סימן-חיובי0-שלילי1

אם חיובי - ערך מוחלט של המספראם שלילי – המשלים של הערך המוחלט של

המספר

חסרונות יתרונות

1..111”=0“-, 0..000”=0“+ייצוג כפול לאפס: • חיבור וחיסור פשוטים יחסית•

Page 6: מבוא למחשב בשפת Matlab תרגול 2: ייצוג מספרים - המשך נכתב על-ידי רמי כהן, אולג רוכלנקו, איתן אביאור ולימור

2תרגול 6 מבוא למחשב בשפת מטלאב. כל הזכויות שמורות

4שיטת המשלים לאחד – הדגמה עבור סיביות

0000

0010

0100

0110

1000

1010

1100

1110

0011

0101

0111

1111 0001

1101

1011

1001

+0

−6

−5

−4

−3

−2

−1

−0

+1

+2

+3+4

+5

+6

+7−

7

Page 7: מבוא למחשב בשפת Matlab תרגול 2: ייצוג מספרים - המשך נכתב על-ידי רמי כהן, אולג רוכלנקו, איתן אביאור ולימור

7

חיבור וחיסור בשיטת משלים לאחד

חיבור: כמו חיבור בינארי רגיל, בשינוי הבא:•

לתוצאה ונזרוק את 1 מהספרה האחרונה – נוסיף carry outאם יש .carryה-

חיסור: חיבור של המספר הנגדי.•דוגמאות:•

2תרגול מבוא למחשב בשפת מטלאב. כל הזכויות שמורות

0011+1010_____1101 )0010(

3+-5___-2

-3+-4___-7

Page 8: מבוא למחשב בשפת Matlab תרגול 2: ייצוג מספרים - המשך נכתב על-ידי רמי כהן, אולג רוכלנקו, איתן אביאור ולימור

2תרגול 8 מבוא למחשב בשפת מטלאב. כל הזכויות שמורות

שיטת המשלים לשתיים

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

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

לאחד.

דוגמאות:•–1001 -7, 0111 7 )4=N(.

יתרונות:•חיבור וחיסור פשוטים–

ייצוג בודד לאפס–

dN-1 dN-2 … d0

סימן-חיובי0-שלילי1

אם חיובי - ערך מוחלט של המספראם שלילי – )המשלים של הערך המוחלט של המספר(

1פלוס

מציאת ערך מוחלט של מספר שלילי במשלים לשתיים:

והיפוך סיביות1 ע"י חיסור •או1 ע"י היפוך סיביות וחיבור •

Page 9: מבוא למחשב בשפת Matlab תרגול 2: ייצוג מספרים - המשך נכתב על-ידי רמי כהן, אולג רוכלנקו, איתן אביאור ולימור

2תרגול 9 מבוא למחשב בשפת מטלאב. כל הזכויות שמורות

4שיטת המשלים לשתיים – הדגמה עבור סיביות

0000

0010

0100

0110

1000

1010

1100

1110

0011

0101

0111

1111 0001

1101

1011

1001

+0

−7

−6

−5

−4

−3

−2

−1

+1

+2

+3+4

+5

+6

+7−

8

Page 10: מבוא למחשב בשפת Matlab תרגול 2: ייצוג מספרים - המשך נכתב על-ידי רמי כהן, אולג רוכלנקו, איתן אביאור ולימור

10

חיבור וחיסור בשיטת משלים לשתיים

מהספרה האחרונה – מתעלמים ממנו!carry outאם יש •דוגמה:•

רק ליתר בטחון, נראה שאכן התקבלו הערכים הנכונים, ע"י כך •שנחלץ חזרה את הגודל של המספר )התהליך ההפוך לייצוג

משלים לשתיים(:

2תרגול מבוא למחשב בשפת מטלאב. כל הזכויות שמורות

5-+-6___-11

10101- 1 ______10100 )01011(

Page 11: מבוא למחשב בשפת Matlab תרגול 2: ייצוג מספרים - המשך נכתב על-ידי רמי כהן, אולג רוכלנקו, איתן אביאור ולימור

2תרגול 11 מבוא למחשב בשפת מטלאב. כל הזכויות שמורות

( כאינדיקטור לשגיאהoverflowגלישה )

מסמלת שגיאה.(carryנשא ), היווצרות מספרים ללא סימןעבור • (overflowגלישה )עבור מספרים בשיטת משלים לשתים, היווצרות •

מייצגת שגיאה.(:2דוגמה )בשיטת המשלים ל-•

סיביות5כל מספר מיוצג ע"י –

15 .. 16−תחום המספרים –

2 במשלים ל-19-לשם ייצוג –

סיביות.6צריכים

מסקנה: יש לחשוב מראש כמה סיביות להקצות לתרגיל, ולהתחשב •גם בתוצאה.

19

10

9

101101

10110

10111

תוצאה בפועל

+13נשא

חסר חשיבותגלישה:

סכום שני שליליים יצא חיובי

חישוב:(−9 + )(−10)

19−תוצאה רצויה

Page 12: מבוא למחשב בשפת Matlab תרגול 2: ייצוג מספרים - המשך נכתב על-ידי רמי כהן, אולג רוכלנקו, איתן אביאור ולימור

12

שיטת המשלים לשתיים – מקרה יוצא דופן

בשיטת ייצוג ללא סימן הוא 2N-1 סיביות, הייצוג של Nבהינתן •10...0.( N=4)1000 הוא 23 = 8לדוגמה, הייצוג של –

- בשיטת משלים לשתיים הוא 2N-1 סיביות, הייצוג של Nבהינתן •10...0(.N=4 )1000 הוא 23 = -8-לדוגמה, הייצוג של –

מבוא למחשב בשפת מטלאב. כל הזכויות שמורות

N-1 פעמים

N-1 פעמים

2תרגול

Page 13: מבוא למחשב בשפת Matlab תרגול 2: ייצוג מספרים - המשך נכתב על-ידי רמי כהן, אולג רוכלנקו, איתן אביאור ולימור

2תרגול 13 מבוא למחשב בשפת מטלאב. כל הזכויות שמורות

טווח הייצוג באמצעות השיטות שראינו

מספרים שונים.2N סיביות נוכל לייצג Nבאמצעות •

טווח הייצוג השיטה

0,1,…,2N-1 ייצוג בינארי רגיל )ללא סימן(

(-2N-1-1- ,..… ,)1 ,0, 1,….., 2N-1-1 גודל וסימן

-)2N-1-1(, ….., -1 ,0, 1,….., 2N-1-1 משלים לאחד

-2N-1, ….., -1 ,0, 1,….., 2N-1-1 משלים לשתיים

Page 14: מבוא למחשב בשפת Matlab תרגול 2: ייצוג מספרים - המשך נכתב על-ידי רמי כהן, אולג רוכלנקו, איתן אביאור ולימור

14

תרגיל מסכם

2תרגול מבוא למחשב בשפת מטלאב. כל הזכויות שמורות

השלימו את הטבלה הבאה. של סיביות.מינימלייש להשתמש במספר

ייצוג בשיטת2משלים ל-

ייצוג בשיטת1משלים ל-

ייצוג בשיטתסימן וגודל

ערך עשרוני

0

10101

10111

Page 15: מבוא למחשב בשפת Matlab תרגול 2: ייצוג מספרים - המשך נכתב על-ידי רמי כהן, אולג רוכלנקו, איתן אביאור ולימור

15

תרגיל מסכם

2תרגול מבוא למחשב בשפת מטלאב. כל הזכויות שמורות

השלימו את הטבלה הבאה. של סיביות.מינימלייש להשתמש במספר

ייצוג בשיטת2משלים ל-

ייצוג בשיטת1משלים ל-

ייצוג בשיטתסימן וגודל

ערך עשרוני

00

0011

0010

0

10101 10100 11011 11-

1000 10111 11000 8-

Page 16: מבוא למחשב בשפת Matlab תרגול 2: ייצוג מספרים - המשך נכתב על-ידי רמי כהן, אולג רוכלנקו, איתן אביאור ולימור

16

תרגיל

7-9-נתון התרגיל הבא בבסיס עשרוני: •כתבו את התרגיל בייצוג בינארי בשיטת המשלים לשתיים, ובצעו את –

החישוב )במשלים לשתיים(.

השתמשו במספר סיביות קטן ככל שניתן.–

פתרון:• סיביות4- במשלים לשתיים מצריך 7ייצוג –

סיביות5- מצריך 9ייצוג –

סיביות )למה?(5- )התוצאה( מצריך 16ייצוג – סיביות5מספיקות

2תרגול מבוא למחשב בשפת מטלאב. כל הזכויות שמורות

Page 17: מבוא למחשב בשפת Matlab תרגול 2: ייצוג מספרים - המשך נכתב על-ידי רמי כהן, אולג רוכלנקו, איתן אביאור ולימור

17

סיכום

מחשבים מייצגים מספרים באמצעות הבסיס הבינארי.•

ברוב המחשבים ישנן שלוש שיטות מקובלות לייצוג מספרים:•:(integersשלמים )מספרים –

– ייצוג בינארי רגילמספרים ללא סימן • – בשיטת המשלים לשתיםמספרים עם סימן•

:(realsממשיים )מספרים –ייצוג בשיטת הנקודה הצפה•

כשעושים פעולות חשבוניות יש לשים לב שהן בטווח המספרים •המותר.

d+1 סיביות עלול לתת תוצאה באורך dסכום שני מספרים באורך –סיביות.

2d סיביות עלולה לתת תוצאה באורך dהכפלת שני מספרים באורך –סיביות.

2תרגול מבוא למחשב בשפת מטלאב. כל הזכויות שמורות