Cześć, mam następujący problem, na wejściu podaję 3 liczby kolejno typu int, float, double, zadaniem jest wyświetlenie poszczególnych bajtów tych liczb.
Póki co doszedłem do tego że w dla int i float będą 4 bajty do wypisania w postaci 00 00 00 00, a dla double 8. Nie rozumiem jednak jak mam wyciągnąć wartość bajta dowolnego typu liczbowego.
0
0
chodziło mi o takie coś:
typedef const unsigned char* bajt;
for(int i = sizeof(c) - 1; i <= 0; i--)
printf("%d ", ((bajt)&c)[i]);
//notatki z ćwiczeń, które właśnie znalazłem.
dla wejscia:
int c = 255;
wyjscie:
0 0 0 255
czyli dobrze bo tyle można zapisać na ostatnim bajcie, dla 256 wynikiem będzie 0 0 1 0.
tylko co się dzieje dlaczego rzutowanie na const unsigned char* daje taki wynik?
0
Przeczytałeś tamten wątek wraz z komentarzami?