I have to work on something , but I am making an error that I can not identify. Propably, it is going to sound simple to you but it's my first course on computer architecture and there is nothing in my slides or book. "We are given a memory, where the smallest chuck of information that can be adressed is 1 byte, and we use 32 - bit memory adresses. Arrays , contain doubles, and each elememnt is an 8 - byte one." &x[0]=0x0000A100 ."

I want to compute the adresses of &x[i] , i=1,2.. What I did thought was the right approach is: Since, we have a memory that is byte - adressable then we can do it as such : &x[i] and &x[i+1] have a dc offset which is 8 -byte and since it is byte adressable then :
&x[i+1] = &x[i] + 8
And I used an online calculator to get these results :
enter image description here

But they are wrong...

  • $\begingroup$ You shouldn't really need an online calculator for this. And the last three bits should always be zero. $\endgroup$
    – gnasher729
    Jul 8, 2021 at 14:27

1 Answer 1


The offset should be 4 bytes, since 1 byte is 8 bits and 32 bits contain 4 bytes.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.