|
עמוד:219
DB 22 , 35 , 78 , 12 , 32 DB 34 , 6 , 28 , 19 , 23 DB 5 , 9 , 0 , 1 , 15 דרך אחרת היא לרשום את כל הערכים באותה שורה a DB 2 , 7 , 3 , 4 , 32 , 5 , 9 , 0 , 1 , 15 , 34 , 6 , 28 , 19 , 23 , 22 , 35 , 78 , 12 , 32 1 בשני המקרים יוקצו 20 תאים רצופים ובכל אחד מהם יואחסן ערך אחד . שימו לב , מבחינת המעבד אין הבדל בין הקצאה של תאים למערך חד-ממדי לעומת מערך דו-ממדי . כדי לפנות לאיבר מסוים במערך הדו-ממדי , עלינו לחשב את ההיסט של האיבר מתחילת המערך , בהתאם למיפוי שורה . באופן כללי , מיקומו של איבר [ ij ] יחושב בצורה הזו י ELEMENT SIZE COLUMNS + j ) = ( i היסט של איבר במערך דו-ממדי כאשר COLUMNS מציין את מספר העמודות במערך ELEMENT SIZE-, מציין את גודלו של האיבר . שימו לב , מצייני שורה ראשונה ועמודה ראשונה הם 0 ולא . 1 לדוגמה , כדי לחשב את ההיסט של האיבר שנמצא בשורה הרביעית ובעמודה השלישית , כלומר את האיבר , a [ 3 , 2 ] במערך שיש בו 4 שורות ו5- עמודות , ואיבריו הם מטיפוס בית , נציב את הערכים : j = 2 , 1 = 3 מספר העמודות COLUMNS = 5 וגודל האיבר ELEMENT SIZE = 1 כעת נחשב את ההיסט באמצעות הנוסחה שרשמנו קודם לכן ( 3-5 + 2 ) - 1 = 3-5 + 2 = 17 1 ואכן אם נתבונן באיור 6 . 3 ב / נראה כי ההיסט של האיבר [ 3 , 2 ] מתחילת המערך הוא 17 תאים . אם המערך הוא מטיפוס מילה יש להכפיל את החישוב הקודם ב12- ( 3-5 + 2 ) -2 = 17-2 = 34
|
|