Digital Logic Systems מערכות לוגיות ספרתיות נושא מס' 2: יצוג מידע בינארי חורף תשס"ט 05123561 Digital Logic Systems Itzik Alfy
שיטות ייצוג מספרים, אותיות וקודים בעזרת ספרות בינריות נושאי השיעור שיטות ייצוג מספרים, אותיות וקודים בעזרת ספרות בינריות מעבר בין שיטות יצוג שונות כללים לביצוע פעולות אריתמטיות במספרים בינריים 05123561 Digital Logic Systems Itzik Alfy
מקורות M.M. Mano, Digital Design – Chapter 1 G. Langholtz, A. Kandel and J.L. Mott, Foundations of Digital Logic Design – Chapter 2 05123561 Digital Logic Systems Itzik Alfy
שיטת יצוג עשרונית ערך עצמי ערך מיקומי Face value Position value 05123561 Digital Logic Systems Itzik Alfy
שיטת יצוג עשרונית ערכו של מספר עשרוני A המורכב מספרות באופן הבא: יהיה: ויסומן באופן הבא: 05123561 Digital Logic Systems Itzik Alfy
מספרים בבסיסים שונים ערכו של מספר A המורכב בבסיס r: יהיה: 6 .2 Lecture ערכו של מספר A המורכב בבסיס r: יהיה: ויסומן באופן הבא: 05123561 Digital Logic Systems Itzik Alfy 6
המרה מבסיס rלבסיס 10 מספר B בבסיס r: , המורכב מספרות באופן הבא: ערכו בבסיס 10 יהיה: 05123561 Digital Logic Systems Itzik Alfy
המרה מבסיס rלבסיס 10 דוגמאות: מה מבצע Shift right 1 Itzik Alfy 05123561 Digital Logic Systems Itzik Alfy
המרה מבסיס 10 לבסיס r הפרד את המספר לחלק שלם ולשבר עבור החלק השלם: רשום את השארית כספרה המשמעותית הבאה חזור על התהליך עם המנה עד לקבלת מנה 0 עבור השבר הכפל את המספר ב- r רשום את החלק השלם של התוצאה כספרה הפחות משמעותית הבאה חזור על התהליך עם השבר של התוצאה עד לרמת הדיוק המבוקשת או קבלת מנה 0 05123561 Digital Logic Systems Itzik Alfy
המרה מבסיס 10 לבסיס 2 דוגמא: (41.513)10=(?)2 0.513*2 = 1.026 0.026*2 = 0.052 0.052*2 = 0.104 0.104*2 = 0.208 0.208*2 = 0.416 0.416*2 = 0.832 0.832*2 = 1.664 0.664*2 = 1.328 41/2 = 20 + (1/2) 20/2 = 10 + (0/2) 10/2 = 5 + (0/2) 5/2 = 2 + (1/2) 2/2 = 1 + (0/2) 1/2 = 0 + (1/2) (41)10 =(101001)2 (0.513)10 = (0.10000011)2 (41.513)10 =(101001.10000011)2 05123561 Digital Logic Systems Itzik Alfy
המרה מבסיס 10 לבסיס 16 דוגמא: (15247. 65625)10= (?)16 0.65625*16 = 10.5 0.5 *16 = 8.0 15247/16 = 952 + (15/16) 952/16 = 59 + (8/16) 59/16 = 3 + (11/2) 3/16 = 0 + (3/2) (0.65625)10 = (A8)16 (15247)10=(3B8F)16 (15247. 65625)10= (3B8F.A8)16 05123561 Digital Logic Systems Itzik Alfy
המרה מבסיס 10 לבסיס r הסבר לטכניקה Itzik Alfy 05123561 Digital Logic Systems Itzik Alfy
מעבר מבסיס r1 לבסיס r2 בהינתן B,r1,r2 מהוא C כך ש: ? פיתרון: מעבר דרך בסיס 10 מהוא היצוג בבסיס 8 של ? דוגמא: 05123561 Digital Logic Systems Itzik Alfy
השיטה פועלת גם בכיוון ההפוך (מבסיס 2 לבסיסים 8,16) המרה בין בסיסים 16,8,2 המרה לבסיס 2 ע"י המרה של כל סיפרה בנפרד (3 סיביות לבסיס אוקטלי, 4 סיביות לבסיס הקסאדצימאלי) השיטה פועלת גם בכיוון ההפוך (מבסיס 2 לבסיסים 8,16) המרה בין בסיסים 8 ו-16 ? 05123561 Digital Logic Systems Itzik Alfy
המרה בין בסיסים 16,8,2 הסבר לטכניקה Itzik Alfy 05123561 Digital Logic Systems Itzik Alfy
יצוג מספרים בבסיסים שונים Hexadecimal Base 16 Octal Base 8 Binary Base 2 Decimal Base 10 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 10 1000 9 11 1001 A 12 1010 B 13 1011 C 14 1100 D 15 1101 E 16 1110 F 17 1111 קוד מכונה ו - Boot programs נכתבו ישירות בhexadecimal- 05123561 Digital Logic Systems Itzik Alfy
פעולות במספרים בינריים דוגמאות: 101101 100111 101101 100111 + - 101 X 05123561 Digital Logic Systems Itzik Alfy
מינוחים MSB? LSB? big-endian LSB? MSB? little-endian bit Nibble=4 bits Byte = 8 bits Short Word = 16 bits Long Word = 32 bits Double Word = 64 bits 05123561 Digital Logic Systems Itzik Alfy
Binary numbers 05123561 Digital Logic Systems Itzik Alfy
הקצאת סיפרה שמאלית ביותר, ליצוג הסימן ייצוג מספרים בעלי סימן הקצאת סיפרה שמאלית ביותר, ליצוג הסימן מספרים חיוביים יסומנו בספרה 0 ערכו בבסיס 10 יהיה: 05123561 Digital Logic Systems Itzik Alfy
מספרים שליליים יסומנו בספרה שמאלית בערך של (r-1) ויסומנו ב שיטות יצוג: ייצוג מספרים בעלי סימן מספרים שליליים יסומנו בספרה שמאלית בערך של (r-1) ויסומנו ב שיטות יצוג: Sign Magnitude (r-1)’s complement 1’s Complement (עבור מקרה בינרי) r‘s complement 2’s Complement (עבור מקרה בינרי) 05123561 Digital Logic Systems Itzik Alfy
עבור המספר החיובי : המספר השלילי ייוצג באופן הבא: ייצוג מספרים בעלי סימן Sign Magnitude עבור המספר החיובי : המספר השלילי ייוצג באופן הבא: 05123561 Digital Logic Systems Itzik Alfy
ייצוג מספרים בעלי סימן Sign Magnitude דוגמאות: ייצוג כפול ל – 0. ייצוג מספרים בעלי סימן Sign Magnitude דוגמאות: ייצוג כפול ל – 0. נרצה שחיבור השלילי של מספר יתן 0. קשה לבצע פעולות אריתמטיות. 05123561 Digital Logic Systems Itzik Alfy
עבור המספר החיובי : המספר השלילי יחושב באחד משני האופנים: ייצוג מספרים בעלי סימן (r-1)’s Complement עבור המספר החיובי : המספר השלילי יחושב באחד משני האופנים: מתקיים: 05123561 Digital Logic Systems Itzik Alfy
ייצוג מספרים בעלי סימן (r-1)’s Complement דוגמאות: ייצוג כפול ל – 0. ייצוג מספרים בעלי סימן (r-1)’s Complement דוגמאות: ייצוג כפול ל – 0. נרצה שחיבור השלילי של מספר יתן 0. כדי לדעת מה מיצג מספר שלילי – מבצעים שוב אותו תהליך היפוך 05123561 Digital Logic Systems Itzik Alfy
עבור המספר החיובי : המספר השלילי יחושב באחד משני האופנים: ייצוג מספרים בעלי סימן r‘s Complement עבור המספר החיובי : המספר השלילי יחושב באחד משני האופנים: מתקיים: יצוג (r-1)’sC 05123561 Digital Logic Systems Itzik Alfy
ייצוג מספרים בעלי סימן r‘s Complement דוגמאות: ייצוג מספרים בעלי סימן r‘s Complement דוגמאות: כדי לדעת מה מיצג מספר שלילי – מבצעים שוב אותו תהליך היפוך כל 0 ל-1 וכל 1 ל-0 ובסוף הוספת 1 05123561 Digital Logic Systems Itzik Alfy
ייצוג מספרים בעלי סימן אורך מילה סופי Sign extension Itzik Alfy ייצוג מספרים בעלי סימן אורך מילה סופי Sign extension 05123561 Digital Logic Systems Itzik Alfy
חיבור וחיסור בr’sC- חבר חיבור חיסור או חיסור? r’sCחשב b-ל חיבור התעלם מגלישה מביט סימן s sign(a)=sign(b) ≠ sign(s) ? כן overflow התוצאה מתקבלת בשיטת המשלים ל- r 05123561 Digital Logic Systems Itzik Alfy
חיבור וחיסור ב2’sC- דוגמאות -6 +6 0000 0110 +13 0000 1101 +6 0000 0110 +13 0000 1101 +19 0001 0011 -6 +13 0000 1101 +7 צריך דוגמאות לoverflow +6 0000 0110 -13 -7 -6 -13 -19 05123561 Digital Logic Systems Itzik Alfy
חיבור וחיסור ב(r-1)’sC- או חיסור? חיסור (r-1)’sCחשב b-ל חיבור חבר כן גלישה מביט סימן? הוסף 1 לתוצאה sign(a)=sign(b) ≠ sign(s) ? כן s overflow התוצאה מתקבלת בשיטת המשלים ל- r-1 05123561 Digital Logic Systems Itzik Alfy
חיבור וחיסור ב1’sC- דוגמאות -6 +6 0000 0110 +13 0000 1101 +6 0000 0110 +13 0000 1101 +19 0001 0011 -6 +13 0000 1101 +7 צריך דוגמאות לoverflow +6 0000 0110 -13 -7 -6 -13 -19 05123561 Digital Logic Systems Itzik Alfy
אורך מילה סופי Fixed Point S F I S – Sign bit I – Bits devoted to the integer part F – Bits devoted to the fractional part ISO/IEC TR 18037:2004 - fixed-point data types for C programming language 05123561 Digital Logic Systems Itzik Alfy
אורך מילה סופי Floating Point IEEE 754-1985 - The IEEE Standard for Binary Floating- Point Arithmetic 05123561 Digital Logic Systems Itzik Alfy
אורך מילה סופי Floating Point S Exponent Mantisa ביט הסימן מיוצג ע"י 1 או 0 Exponent מיוצג ב-2’sC ולכן ניתן לייצג חזקות בטווח 2^-128 עד 2^127. לערך החזקה מוסיפים 127. Mantisa ייצוג לפי כל מספר שהמנטיסה שלו שונה יתורגם לצורה כזו ורק אז מחושב הexponent-. כיון שכל המספרים מתחילים ב-1 לא רושמים אותו ביצוג. 05123561 Digital Logic Systems Itzik Alfy
אורך מילה סופי Floating Point צירופים שמורים: Itzik Alfy 05123561 Digital Logic Systems Itzik Alfy
אורך מילה סופי Floating Point דוגמא Itzik Alfy 05123561 Digital Logic Systems Itzik Alfy
קודים דצימאליים קוד BCD בקוד דצימאלי כל ספרה עשרונית מוצפנת בנפרד בקוד בינארי באורך 4 קוד BCD Binary Coded Decimal - BCD 05123561 Digital Logic Systems Itzik Alfy
קודים דצימאליים 05123561 Digital Logic Systems Itzik Alfy
קודים דצימאליים קוד Excess 3 כל ספרה מקודדת ע"י הוספת ליצוג BCD שלה. 05123561 Digital Logic Systems Itzik Alfy
כל מספר בצופן שונה בסיבית אחת מן המספר שלפניו והמספר שאחריו קוד Gray Decimal Value 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Gray Code 0000 0001 0011 0010 0110 0111 0101 0100 1100 1101 1111 1110 1010 1011 1001 1000 כל מספר בצופן שונה בסיבית אחת מן המספר שלפניו והמספר שאחריו 05123561 Digital Logic Systems Itzik Alfy
צופן לא משקלי (לא מתאים לפעולות אריתמטיות) תכונות של קוד Gray צופן לא משקלי (לא מתאים לפעולות אריתמטיות) צופן ציקלי (מרחק של סיבית אחת מתקיימת באופן ציקלי) צופן בינארי משוקף (reflected) אינו יחיד ! 05123561 Digital Logic Systems Itzik Alfy
קוד Gray באורך 2 05123561 Digital Logic Systems Itzik Alfy
קוד Gray באורך 3 יצוג בינארי יצוג עשרוני (e) קוד Gray באורך 3 (d) (c) (b) (a) 0 0 0 0 0 1 0 0 1 1 0 תוספת שיקוף 0 1 0 2 1 1 0 1 1 3 0 1 0 0 1 4 0 1 1 1 0 1 5 1 1 1 6 7 05123561 Digital Logic Systems Itzik Alfy
מעבר מיצוג בינארי לקוד Gray את יתר הסיביות משחזרים בצורה איטרטיבית משמאל לימין: אם הסיבית במקום ה-i , שווה לסיבית שלשמאלה אז אחרת: יצוג בינארי 1101 1101 1101 1101 קוד Gray 1011 101 10 1 דוגמא: 05123561 Digital Logic Systems Itzik Alfy
מעבר מקוד Gray ליצוג בינארי את יתר הסיביות משחזרים בצורה איטרטיבית משמאל לימין: אם מספר ה-1 משמאל לסיבית במקום ה-i זוגי אזי: אחרת: יצוג גריי 1011 1011 1011 1011 יצוג בינארי 1101 110 11 1 דוגמא: 05123561 Digital Logic Systems Itzik Alfy
יצוג אותיות, ספרות ותווי בקרה ASCII ,ASCII-8 EBCDIC (8 bit) Alphanumeric codes יצוג אותיות, ספרות ותווי בקרה ASCII ,ASCII-8 EBCDIC (8 bit) ASCII -7 bit - ביט שמיני יכול לשמש עבור גילוי שגיאות 05123561 Digital Logic Systems Itzik Alfy
7-ASCII 111 110 101 100 011 010 001 000 p ` P @ SP DLE NULL 0000 q a Q b6b5b4 b3b2b1b0 p ` P @ SP DLE NULL 0000 q a Q A 1 ! DC1 SOH 0001 r b R B 2 “ DC2 STX 0010 s C S 3 # DC3 ETX 0011 t d T D 4 $ DC4 EOT 0100 u e U E 5 % NAK ENQ 0101 v f V F 6 & SYN ACK 0110 w g W G 7 ‘ ETB BEL 0111 x h X H 8 ( CAN BS 1000 y i Y I 9 ) EM HT 1001 z j Z J : * SUB LF 1010 { k [ K ; + ESC VT 1011 | l \ L < ' FS FF 1100 } m ] M = - GS CR 1101 ~ n ^ N > . RS SO 1110 o _ O ? / US SI 1111 05123561 Digital Logic Systems Itzik Alfy
קודים לגילוי שגיאות מקור ביטים טיפול בשגיאות משדר מקלט + רעש טעויות אחסון כתוצאה ממתחים אקראיים. שינוי של ביט יחיד יכול לגרום לתוכנית שלמה לא לעבוד. חיוני כשמעבירים מידע בינארי ECC – Error Correcting Codes: Viterbi, Reed–Salomon, Turbo Error Detecting Codes – Checksum, Parity Checking 05123561 Digital Logic Systems Itzik Alfy
קוד זוגיות (parity)לגילוי שגיאות סיבית זוגיות מתווספת לקבוצת סיביות על מנת לאפשר גילוי שגיאות: אפשרות א': Even Parity השלמה לסך כמות ה-"1" במילה שיהיה זוגי 10101100 <- 0101100 אפשרות ב': Odd Parity השלמה לסך כמות ה-"1" במילה שיהיה אי-זוגי 00101100 <- 0101100 05123561 Digital Logic Systems Itzik Alfy
אינטרפטציות לצרוף בינארי0101) 1 (100 אינטרפטציות לצרוף בינארי0101) 1 (100 Unsigned binary Sign magnitude representation 1’s complement representation 2’s complement representation BCD representation ASCII code with Even parity 05123561 Digital Logic Systems Itzik Alfy