Arrays and Base address

Consider the linear arrays XXX (-10:10), YYY (1935:1985), ZZZ (35).
(a) Find the number of element in each array.
(b) Suppose Base (YYY) = 400 and w=4 words per memory cell for YYY. Find the address of YYY [1942], YYY [1977] and YYY [1988].

Answer:
(a) Given Linear arrays are: XXX (-10:10), YYY(1935:1985) and ZZZ(35)

The number of elements is equal to the length. We can determine the length
By the following formula,
Length = UB – LB +1

For XXX the Upper Bound is 10 and the Lower Bound is -10
For YYY the Upper Bound is 1985 and the Lower Bound is 1935 and
For ZZZ the Upper Bound is 35 and Lower Bound is 1.

So,
Length (XXX) = UB (XXX) – LB (XXX) +1
= 10 – (-10) + 1
= 21

Then,
Length (YYY) = UB (YYY) – LB (YYY) +1
= 1985 – 1935 +1
= 51

And, Length (ZZZ) = UB (ZZZ) – LB (ZZZ) +1
= 35 – 1 +1
=35

(b) We know,
Address of any element of a linear array LA is determined by the formula,
LOC (LA[k]) = Base (LA) + w (k – lower bound)
Where,
Base (LA) = Base address of linear array LA.
w = Number of words per memory cell for the array LA
And k = Any elements of linear array LA

Given,
Base (YYY) = 400,
Lower Bound = 1935
And w = 4

SO, LOC (YYY [1942]) = 400 + 4(1942 – 1935)
= 428
LOC (YYY [1977]) = 400 + 4(1977 – 1935)
= 568
LOC (YYY [1988]) = 400 + 4(1988 – 1935)
= 612

Share

86 thoughts on “Arrays and Base address

  1. Hi! This post couldn’t be written any better! Reading this post reminds me of my good old room mate! He always kept chatting about this. I will forward this page to him. Pretty sure he will have a good read. Thanks for sharing!|

  2. Hello there, just became alert to your blog through Google, and found that it’s really informative. I’m gonna watch out for brussels. I will be grateful if you continue this in future. Lots of people will be benefited from your writing. Cheers!|

Leave a Reply

Your email address will not be published. Required fields are marked *

Proudly powered by WordPress | Theme: Lean Blog by Crimson Themes.