[08] Odwracanie kolejności [wszystkich] bitów
Data zakończenia: 2024-10-24 16:00
Języki:
cpp
Limit czasu: 1.0 s
Limit pamięci: 50 MB
Cel
Zadanie na użycie operatorów bitowych (lub arytmetycznych), pobranie rozmiaru typu i prostą pętlę.
Zadanie
Napisz program, który ze standardowego wyjścia wczyta liczbę całkowitą bez znaku (typu unsigned int, w systemie dziesiętnym) i wypisze na standardowe liczbę tego samego typu powstałą przez odwrócenie kolejności [wszystkich] jej bitów.
Inne sformułowanie treści: Napisz program, który ze standardowego wejścia wczyta liczbę całkowitą bez znaku (typu unsigned int, w systemie dziesiętnym) i wypisze na standardowe liczbę tego samego typu powstałą przez zmianę kolejności jej bitów polegającą na odwróceniu kolejności jej bitów. Innymi słowy jeśli typ unsigned int będzie miał 32 bity, to liczba która w zapisie binarnym może zostać przedstawiona w postaci
b1b2b3b4 ... b29b30b31b32 powinna zostać zastąpiona przez liczbę, która w zapisie binarnym będzie miała postać
b32b31b30b29 ... b4b3b2b1.
Przykład dla typu 32-bitowego
Wejście
Uwaga
Ilość bitów zmiennej typu unsigned int wynosi 8 * sizeof(unsigned int) (czyli 8 bitów bajtu przemnożone przez liczbę bajtów). Można przyjąć, że ta wartość (ilość bitów zmiennej typu unsigned int) wynosi 32.
Zadanie na użycie operatorów bitowych (lub arytmetycznych), pobranie rozmiaru typu i prostą pętlę.
Zadanie
Napisz program, który ze standardowego wyjścia wczyta liczbę całkowitą bez znaku (typu unsigned int, w systemie dziesiętnym) i wypisze na standardowe liczbę tego samego typu powstałą przez odwrócenie kolejności [wszystkich] jej bitów.
Inne sformułowanie treści: Napisz program, który ze standardowego wejścia wczyta liczbę całkowitą bez znaku (typu unsigned int, w systemie dziesiętnym) i wypisze na standardowe liczbę tego samego typu powstałą przez zmianę kolejności jej bitów polegającą na odwróceniu kolejności jej bitów. Innymi słowy jeśli typ unsigned int będzie miał 32 bity, to liczba która w zapisie binarnym może zostać przedstawiona w postaci
Przykład dla typu 32-bitowego
Wejście
1025Wyjście
2149580800
Uwaga
Ilość bitów zmiennej typu unsigned int wynosi 8 * sizeof(unsigned int) (czyli 8 bitów bajtu przemnożone przez liczbę bajtów). Można przyjąć, że ta wartość (ilość bitów zmiennej typu unsigned int) wynosi 32.