Написать программу, которая получает случайное целое типа int, выводит его двоичное представление на экран, выполняет преобразование в соответствии с вариантом (см. ниже), затем выводит на экран двоичное представление результата преобразования. № варианта Задание Пример 1 Изменить порядок следования битов в числе на обратный 11010011 11001011язык Си
#include <stdio.h> // Функция для изменения порядка битов в числе на обратный int reverseBits(int num) { int result = 0; for (int i = 0; i < sizeof(num) * 8; i++) { result = result << 1; if (num & 1) result = result | 1; num = num >> 1; } return result; } int main() { int num = rand(); // Генерация случайного числа printf("Исходное число: %d\n", num); // Вывод двоичного представления исходного числа printf("Двоичное представление исходного числа: "); for (int i = sizeof(num) * 8 - 1; i >= 0; i--) { int bit = (num >> i) & 1; printf("%d", bit); } printf("\n"); // Изменение порядка битов в числе на обратный int result = reverseBits(num); // Вывод двоичного представления результата printf("Результат преобразования: %d\n", result); printf("Двоичное представление результата: "); for (int i = sizeof(result) * 8 - 1; i >= 0; i--) { int bit = (result >> i) & 1; printf("%d", bit); } printf("\n"); return 0; }
Программа генерирует случайное число типа int, выводит его двоичное представление, затем изменяет порядок битов в числе на обратный и выводит двоичное представление результата.
// Функция для изменения порядка битов в числе на обратный
int reverseBits(int num) {
int result = 0;
for (int i = 0; i < sizeof(num) * 8; i++) {
result = result << 1;
if (num & 1)
result = result | 1;
num = num >> 1;
}
return result;
}
int main() {
int num = rand(); // Генерация случайного числа
printf("Исходное число: %d\n", num);
// Вывод двоичного представления исходного числа
printf("Двоичное представление исходного числа: ");
for (int i = sizeof(num) * 8 - 1; i >= 0; i--) {
int bit = (num >> i) & 1;
printf("%d", bit);
}
printf("\n");
// Изменение порядка битов в числе на обратный
int result = reverseBits(num);
// Вывод двоичного представления результата
printf("Результат преобразования: %d\n", result);
printf("Двоичное представление результата: ");
for (int i = sizeof(result) * 8 - 1; i >= 0; i--) {
int bit = (result >> i) & 1;
printf("%d", bit);
}
printf("\n");
return 0;
}
Программа генерирует случайное число типа int, выводит его двоичное представление, затем изменяет порядок битов в числе на обратный и выводит двоичное представление результата.