Перевод из 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 в степениkprintf(\n%x,hex);- выводит на экран результат перевода в 16-ричную систему счисленияreturn 0;- завершает работу программы