Unie - problem z wynikiem

Unie - problem z wynikiem
J3
  • Rejestracja:ponad 8 lat
  • Ostatnio:ponad 8 lat
  • Postów:2
0

Cześć. Czy ktoś jest w stanie wytłumaczyć mi skąd biorą się te wyniki na ekranie? Mój wykładowca nie jest zbyt pomocny :(
Z góry dziękuję za pomoc.

received_1021494347994265.jpeg

edytowany 2x, ostatnio: kq
kq
Moderator C/C++
  • Rejestracja:prawie 12 lat
  • Ostatnio:dzień
  • Lokalizacja:Szczecin
3

Na większości architektur używa się teraz Little Endian, z bajtem = 8 bitów. Tak właśnie jest w Twoim przypadku. Oznacza to, że liczba 112310 (46316) jest w pamięci przechowywana jako 63 04 00 0016 (zakładając int 4-bajtowy; znów, tak właśnie jest w Twoim przypadku). Dalej już droga prosta, 6316 to 9910


edytowany 4x, ostatnio: kq
Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 3 godziny
1

Inaczej rozumując: liczby większe od bajta zapisywane są na kilku bajtach w systemie 256-kowym. W tym systemie jest 256 różnych cyfr, od 0x00 do 0xFF. Liczbę zapisujemy tak jak zazwyczaj, od najbardziej znaczącej do najmniej.

J3
  • Rejestracja:ponad 8 lat
  • Ostatnio:ponad 8 lat
  • Postów:2
0

Dziękuję bardzo za pomoc. :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.