2013-04-16 4 views
0

다음은 8 개의 8 비트 (1 바이트) 문자 배열로 사용되는 메모리 다이어그램입니다. 8 개의 32 비트 정수 및 8 개의 64 비트 복소수 배열에 대한 유사한 다이어그램을 수행하십시오.8 개의 8 비트 문자 배열의 다이어그램

Byte (Character) 1 2 3 4 5 6 7 8 
    Index    0 1 2 3 4 5 6 7 
    Address    n n+1 n+2 n+3 n+4 n+5 n+6 n+7 

여러분이 무슨 뜻인지 실마리가 있습니까?

32 비트 정수의 바이트가 0001일까요? 주소는 무엇입니까?

답변

1

이 코드는 배열 인덱스와 실제 메모리 주소의 차이점을 생각해 볼 수 있도록 고안된 연습이라고 생각합니다. 인덱스 1의 정수, 즉 myarray[1]은 32 비트 정수가 4 바이트이므로 n+4 주소에서 찾을 수 있습니다.

그래서 32 비트의 경우는 다음과 같습니다.

32-Bit Integer  1  2  3 4 5 6 7 8 
Index    0  1  2 3 4 5 6 7 
Address    n n+4 n+8 n+12 n+16 n+20 n+24 n+28 
1

나는이 장면을 찍을 수있다. 인덱스가 메모리의 임의의 주소 인 동안 데이터를 배열로 지정하는 방법은 인덱스입니다. (리틀 엔디안 가정) 32 비트의 경우를 들어

, 당신은

Word  1    | 2 
Index  0    | 1 
Address n+0 n+1 n+2 n+3 | n+4 n+5 n+6 n+7 

처음 4 주소 바이트가 리틀 엔디안 32 비트 첫 번째 단어입니다 것이다. 두 번째 4 주소 바이트는 다음 32 비트 워드입니다. 그냥 계속하십시오.

관련 문제