Перевод из 16-ричной в двоичную в массиве - C (СИ)
Формулировка задачи:
Уважаемые, поясните нерадивому первокурснику, как нужно делать данное задание :
Дан массив целых чисел (N=16). Элементы массива представляют собой последовательность нулей и единиц. Преобразовать этот массив в эквивалентное шестнадцатеричное число.
Если со строковым массивом все понятно, преобразует двоичное число как надо, то вот с массивом ЦЕЛЫХ чисел бяда.
Буду очень признателен за вставку с кодом.
Решение задачи: «Перевод из 16-ричной в двоичную в массиве»
textual
Листинг программы
#include <stdlib.h> #include <stdio.h> #include <locale.h> #include <time.h> #define N 16 int main() { setlocale(LC_ALL,"rus"); srand(time(NULL)); int bin[N],i,k; int hex=0; for(i=0,k=15;i<N;i++,k--) { bin[i]=rand()%2; //заполняем рандомом printf("%d",bin[i]); hex+=bin[i]*pow(2,k); } printf("\n%x",hex); return 0; }
Объяснение кода листинга программы
В этом коде выполняется перевод чисел из 16-ричной системы счисления в двоичную систему счисления.
#include <stdlib.h>
,#include <stdio.h>
,#include <locale.h>
,#include <time.h>
- подключают необходимые для работы функции и библиотеки#define N 16
- определяет размер массиваsetlocale(LC_ALL,
rus);
- устанавливает русскую локаль для вывода информацииsrand(time(NULL));
- инициализирует генератор случайных чисел текущим временемint bin[N],i,k;
- объявляет массивbin
для хранения двоичных чисел, а также переменныеi
иk
для работы с цикламиint hex=0;
- инициализирует переменнуюhex
для хранения суммы чисел в двоичной системе счисленияfor(i=0,k=15;i<N;i++,k--)
- организует цикл по массивуbin
от 0 до N-1, при этом значениеk
уменьшается на единицу на каждой итерации циклаbin[i]=rand()%2;
- заполняет элементы массиваbin
случайными двоичными числами от 0 до 1printf(
%d,bin[i]);
- выводит на экран значение каждого двоичного числа в 10-чной системе счисленияhex+=bin[i]*pow(2,k);
- суммирует текущее двоичное число сhex
, умноженное на 2 в степениk
printf(
\n%x,hex);
- выводит на экран результат перевода в 16-ричную систему счисленияreturn 0;
- завершает работу программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д