Dane w pamieci

Odpowiedz Nowy wątek
2011-07-13 14:14
JozefB
0

Witam

int tmp = 1;
unsigned char* ptr = (unsigned char*)&tmp;
 
for(int i = 0;  i < sizeof(int);  i++)
    std::cout << (int)ptr[i] << "  ";
 

Output
1 0 0 0
Wedlug mnie powinienem dostac
0 0 0 1
Wie ktos moze dlaczego tak sie dzieje?

Pozostało 580 znaków

2011-07-13 14:20
0

Hmm pewnie ma to związek z tym, że procesor zapisuje w Little Endian

Pozostało 580 znaków

2011-07-13 14:21
0

Poczytaj o "Big Endian" i "Little Endian". Na x86 masz "Little Endian".

ha, Sarrus mnie uprzedził :)


Jeśli chcesz pomocy, NIE pisz na priva, ale zadaj dobre pytanie na forum.
edytowany 2x, ostatnio: MarekR22, 2011-07-13 14:23

Pozostało 580 znaków

2011-07-13 14:28
JozefB
0

Dzieki

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0