510 likes | 886 Views
Digital Logic Systems מערכות לוגיות ספרתיות. נושא מס' 2: יצוג מידע בינארי חורף תשס"ט. נושאי השיעור. שיטות ייצוג מספרים, אותיות וקודים בעזרת ספרות בינריות מעבר בין שיטות יצוג שונות כללים לביצוע פעולות אריתמטיות במספרים בינריים. מקורות. M.M. Mano , Digital Design – Chapter 1
E N D
Digital Logic Systemsמערכות לוגיות ספרתיות נושא מס' 2: יצוג מידע בינארי חורף תשס"ט Itzik Alfy
נושאי השיעור • שיטות ייצוג מספרים, אותיות וקודים בעזרת ספרות בינריות • מעבר בין שיטות יצוג שונות • כללים לביצוע פעולות אריתמטיות במספרים בינריים Itzik Alfy
מקורות • M.M. Mano, Digital Design – Chapter 1 • G. Langholtz, A. Kandel and J.L. Mott, Foundations of Digital Logic Design – Chapter 2 Itzik Alfy
שיטת יצוג עשרונית ערך עצמי Face value ערך מיקומי Position value Itzik Alfy
שיטת יצוג עשרונית ערכו של מספר עשרוני A המורכב מספרות באופן הבא: יהיה: ויסומן באופן הבא: Itzik Alfy
מספרים בבסיסים שונים 6 .2 Lecture ערכו של מספר A המורכב בבסיס r: יהיה: ויסומן באופן הבא: 05123561 Digital Logic Systems Itzik Alfy
המרה מבסיס rלבסיס 10 מספר B בבסיס r: , המורכב מספרות באופן הבא: ערכו בבסיס 10 יהיה: Itzik Alfy
המרה מבסיס rלבסיס 10 דוגמאות: Itzik Alfy
המרה מבסיס 10 לבסיס r • הפרד את המספר לחלק שלם ולשבר • עבור החלק השלם: • חלק את המספר ב- r • רשום את השארית כספרה המשמעותית הבאה • חזור על התהליך עם המנה עד לקבלת מנה 0 • עבור השבר • הכפל את המספר ב- r • רשום את החלק השלם של התוצאה כספרה הפחות משמעותית הבאה • חזור על התהליך עם השבר של התוצאה עד לרמת הדיוק המבוקשת או קבלת מנה 0 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 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 Itzik Alfy
המרה מבסיס 10 לבסיס r הסבר לטכניקה Itzik Alfy
מעבר מבסיס r1 לבסיס r2 בהינתן B,r1,r2 מהוא C כך ש: ? פיתרון: מעבר דרך בסיס 10 מהוא היצוג בבסיס 8 של ? דוגמא: Itzik Alfy
המרה בין בסיסים 16,8,2 המרה לבסיס 2 ע"י המרה של כל סיפרה בנפרד (3 סיביות לבסיס אוקטלי, 4 סיביות לבסיס הקסאדצימאלי) השיטה פועלת גם בכיוון ההפוך (מבסיס 2 לבסיסים 8,16) המרה בין בסיסים 8 ו-16 ? Itzik Alfy
המרה בין בסיסים 16,8,2 הסבר לטכניקה Itzik Alfy
יצוג מספרים בבסיסים שונים Itzik Alfy
פעולות במספרים בינריים דוגמאות: 101101 100111 101101 100111 + - 101 101 X Itzik Alfy
מינוחים MSB? LSB? LSB? MSB? big-endian little-endian bit Nibble=4 bits Byte = 8 bits Short Word = 16 bits Long Word = 32 bits Double Word = 64 bits Itzik Alfy
Binary numbers Itzik Alfy
ייצוג מספרים בעלי סימן הקצאת סיפרה שמאלית ביותר, ליצוג הסימן • מספרים חיוביים יסומנו בספרה 0 ערכו בבסיס 10 יהיה: Itzik Alfy
ייצוג מספרים בעלי סימן מספרים שליליים יסומנו בספרה שמאלית בערך של (r-1)ויסומנו בשיטות יצוג: • Sign Magnitude • (r-1)’s complement 1’s Complement (עבור מקרה בינרי) • r‘s complement 2’s Complement (עבור מקרה בינרי) Itzik Alfy
ייצוג מספרים בעלי סימן עבור המספר החיובי :המספר השלילי ייוצג באופן הבא: Sign Magnitude Itzik Alfy
ייצוג מספרים בעלי סימן • Sign Magnitude דוגמאות: Itzik Alfy
ייצוג מספרים בעלי סימן עבור המספר החיובי :המספר השלילי יחושב באחד משני האופנים: מתקיים: (r-1)’s Complement Itzik Alfy
ייצוג מספרים בעלי סימן (r-1)’s Complement דוגמאות: Itzik Alfy
ייצוג מספרים בעלי סימן עבור המספר החיובי :המספר השלילי יחושב באחד משני האופנים: מתקיים: r‘s Complement יצוג (r-1)’sC Itzik Alfy
ייצוג מספרים בעלי סימן • r‘s Complement דוגמאות: Itzik Alfy
ייצוג מספרים בעלי סימן • אורך מילה סופי • Sign extension Itzik Alfy
חיבור וחיסור בr’sC- חיבור או חיסור? חיסור r’sCחשב b-ל חיבור חבר התעלם מגלישה מביט סימן s sign(a)=sign(b) ≠ sign(s) ? כן overflow התוצאה מתקבלת בשיטת המשלים ל- r Itzik Alfy
חיבור וחיסור ב2’sC- דוגמאות -6 +13 0000 1101 +7 +6 0000 0110 +13 0000 1101 +19 0001 0011 -6 -13 -19 +6 0000 0110 -13 -7 Itzik Alfy
חיבור וחיסור ב(r-1)’sC- חיבור או חיסור? חיסור (r-1)’sCחשב b-ל חיבור חבר כן גלישה מביט סימן? הוסף 1 לתוצאה sign(a)=sign(b) ≠ sign(s) ? כן s overflow התוצאה מתקבלת בשיטת המשלים ל- r-1 ItzikAlfy
חיבור וחיסור ב1’sC- דוגמאות -6 +13 0000 1101 +7 +6 0000 0110 +13 0000 1101 +19 0001 0011 -6 -13 -19 +6 0000 0110 -13 -7 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 Itzik Alfy
אורך מילה סופי Floating Point IEEE 754-1985 - The IEEE Standard for Binary Floating- Point Arithmetic Itzik Alfy
אורך מילה סופי Floating Point S ביט הסימן מיוצג ע"י 1 או 0 Exponent מיוצג ב-2’sC ולכן ניתן לייצג חזקות בטווח 2^-128 עד 2^127. לערך החזקה מוסיפים 127. Mantisa ייצוג לפי כל מספר שהמנטיסה שלו שונה יתורגם לצורה כזו ורק אז מחושב הexponent-. כיון שכל המספרים מתחילים ב-1 לא רושמים אותו ביצוג. Itzik Alfy
אורך מילה סופי Floating Point צירופים שמורים: Itzik Alfy
אורך מילה סופי Floating Point דוגמא Itzik Alfy
קודים דצימאליים בקוד דצימאלי כל ספרה עשרונית מוצפנת בנפרד בקוד בינארי באורך 4 קוד BCD Binary Coded Decimal - BCD Itzik Alfy
קודים דצימאליים Itzik Alfy
קודים דצימאליים קוד Excess 3 כל ספרה מקודדת ע"י הוספת ליצוג BCD שלה. קוד Excess 3 הינו "משלים עצמי" כלומר מילת הקוד המשלימה בבסיס 2 (החלפת 0 ב-1 ו-1 ב-0) מקודדת את הספרה המשלימה בבסיס 10 (השלמה ל-9). Itzik Alfy
קוד Gray Decimal Value 0 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 כל מספר בצופן שונהבסיבית אחת מן המספר שלפניו והמספר שאחריו Itzik Alfy
תכונות של קוד Gray • צופן לא משקלי (לא מתאים לפעולות אריתמטיות) • צופן ציקלי (מרחק של סיבית אחת מתקיימת באופן ציקלי) • צופן בינארי משוקף (reflected) • אינו יחיד ! Itzik Alfy
קוד Gray באורך 2 Itzik Alfy
קוד Gray באורך 3 Itzik Alfy
מעבר מיצוג בינארי לקוד Gray • נסמן את הספרות בקוד Gray המבוקש ובקוד הבינארי הנתון • הסיבית השמאלית ביותר שווה בקודGray וביצוג הבינארי. • את יתר הסיביות משחזרים בצורה איטרטיבית משמאל לימין: • אם הסיבית במקום ה-i , שווה לסיבית שלשמאלה אז • אחרת: • יצוג בינארי 1101 1101 1101 1101 • קוד Gray 1011 101 10 1 דוגמא: Itzik Alfy
מעבר מקוד Gray ליצוג בינארי • נסמן את הספרות בקוד Gray הנתון ובקוד הבינארי המבוקש • הסיבית השמאלית ביותר שווה בקודGray וביצוג הבינארי. • את יתר הסיביות משחזרים בצורה איטרטיבית משמאל לימין: • אם מספר ה-1 משמאל לסיבית במקום ה-i זוגי אזי: • אחרת: • יצוג גריי 1011 1011 1011 1011 • יצוג בינארי 1101 110 11 1 דוגמא: Itzik Alfy
Alphanumeric codes • יצוג אותיות, ספרות ותווי בקרה • ASCII ,ASCII-8 • EBCDIC (8 bit) • ASCII -7 bit - ביט שמיני יכול לשמש עבור גילוי שגיאות Itzik Alfy
7-ASCII Itzik Alfy
קודים לגילוי שגיאות משדר מקלט טיפול בשגיאות מקור ביטים + רעש ECC – Error Correcting Codes: Viterbi, Reed–Salomon, Turbo Error Detecting Codes – Checksum, Parity Checking Itzik Alfy
קוד זוגיות (parity)לגילוי שגיאות • סיבית זוגיות מתווספת לקבוצת סיביות על מנת לאפשר גילוי שגיאות: • אפשרות א': Even Parity השלמה לסך כמות ה-"1" במילה שיהיה זוגי 10101100 <- 0101100 • אפשרות ב': Odd Parity השלמה לסך כמות ה-"1" במילה שיהיה אי-זוגי 00101100 <- 0101100 Itzik Alfy