Reprezentacja liczby typu float/int/double

0

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

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?

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