Программа перевода чисел в двоичный вид - C (СИ)
Формулировка задачи:
#include <stdio.h>
int main()
{
int god, juk = 100, ut = 0;
int yt[10] = {5, 5, 5, 5, 5, 5, 7, 8, 9, 0};
int i;
printf ("Введите число\n");
scanf ("%d", &god);
printf ("%d\n", god);
while (juk > 0)
{
yt[ut] = god % 2;
juk = god / 2; //5
god = juk; //5
ut++;
}
for (i = 9;i > 0;i--);
{
if (yt[i] < 2)
{
printf ("%d\n", yt[i]);
}
}
}Решение задачи: «Программа перевода чисел в двоичный вид»
textual
Листинг программы
void BinDec(char* bin, int size){
int rez(0), i;
std::cout<<"\nДесятичное число:\n< ";
for(i = size - 1; i >= 0; --i)
rez += (bin[i] - 48)<<i;
std::cout<<rez<<std::endl;
[B]delete [] bin;[/B]
}
Объяснение кода листинга программы
- В функции объявлены две переменные:
rezтипа int иiтипа int. - Переменная
rezинициализируется значением 0. - В цикле for перебираются элементы массива
bin, начиная с последнего элемента и до первого. - В каждой итерации цикла к переменной
rezдобавляется значение, полученное путем сдвига значения элемента массиваbinвлево на количество позиций, равное индексу элемента в массиве. - После окончания цикла выводится значение переменной
rez. - Вызывается функция
delete [] bin, которая освобождает память, выделенную под массивbin.