Перевести массив десятичных чисел в двоичные - C (СИ)
Формулировка задачи:
Помогите пожалуйста на языке СИ: Дан массив целых чисел, состоящий из N элементов (N=10). Перевести заданные числа в двоичную систему счисления. Вывести на экран монитора заданные десятичные числа и их двоичный эквивалент (диапазон чисел изменяется от нуля до 127). Заранее огромное спасибо
Решение задачи: «Перевести массив десятичных чисел в двоичные»
textual
Листинг программы
#include <stdio.h> #define N 10 int main() { int arr[N]= {5,22,44,3,1,33,93,32,57,120}; int i, j; const int size = sizeof(int) * 8; char charr[size]; for(i = 0; i < N; i++) { printf("%3d - ",arr[i]); for ( j= size-1; j >= 0; j--) { charr[j] = (arr[i] % 2) + '0'; arr[i] >>= 1; } printf("%s\n", charr); } return 0; }
Объяснение кода листинга программы
В этом коде происходит перевод десятичных чисел в двоичные. Вот список действий, которые происходят в коде:
- Включаем стандартную библиотеку для работы с файлами и выводом в консоль.
- Определяем размер массива N, который равен 10.
- Создаём массив arr типа int с десятью элементами и инициализируем его значениями.
- Объявляем две переменные i и j типа int, которые будут использоваться в циклах.
- Объявляем переменную charr типа char, которая будет использоваться для хранения двоичных представлений чисел.
- Вычисляем размер int в битах (размер) и объявляем его константой.
- Инициализируем переменную charr нулями.
- Запускаем цикл for для каждого элемента массива arr.
- Выводим значение элемента массива на экран с помощью функции printf.
- Запускаем цикл for для каждого бита числа, начиная с старшего бита.
- Сохраняем младший бит числа в переменную charr и сдвигаем число вправо на один бит.
- Добавляем символ '0' к младшему биту, преобразуя его в строку.
- Выводим строку charr на экран с помощью функции printf.
- Завершаем цикл for для текущего элемента массива.
- Завершаем основную функцию main, возвращая 0.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д