Τι θα τυπώσει το παρακάτω;
#include <stdio.h>
int main() {
int x = 42;
char * bytes = (char*)&x;
int i;
for(i = 0; i < sizeof(int) / sizeof(char); i++)
printf("%02x\n", bytes[i]);
return 0;
}
Γράψτε το 42 σε δεκαεξαδικό ως ακέραιο 4 bytes. Ο δείκτης bytes διατρέχει τη μνήμη
του x ένα byte τη φορά, από τη χαμηλότερη διεύθυνση· η απάντηση εξαρτάται από το αν
ο υπολογιστής σας είναι little ή big endian (οι x86 και οι περισσότεροι ARM είναι
little endian).
Αριθμός στον οδηγό: Α12.4
(στο κεφάλαιο) ·
Μόνιμο αναγνωριστικό: slides-lec12-endianness ·
Σύνδεσμος: https://progintro.github.io/study/questions/slides/slides-lec12-endianness.html ·
Markdown (GitHub)