На даній сторінці розміщені три функції мови сі / сі ++, які переводять десяткове число в двійкову систему числення. Програми представлені як окремо, так і у вигляді однієї програми з трьома функціями з подальшим викликом їх в main.
Функція перша: реалізація ідеї за допомогою масиву
#include "stdafx.h"
#include "conio.h"
#include "stdio.h"
Реалізація програми за допомогою побітового зсуву вправо:
Дана програма дуже схожа з попередньою, відмінність лише створення власної функції і виклику його в main, а також використання побітового зсуву вправо замість поділу на 2.
#include "stdafx.h"
#include "locale.h"
#include "conio.h"
#include "locale.h"
int my_func (int dec)
setlocale (0, "RUS");
int a, i, mass [99];
for (i = 0; i <99; i++)
mass [i] = 0;
>
printf ( "Введіть ціле десяткове число:");
scanf_s ( ".", a);
i = 0;
while (a! = 0)
if (a% 2 == 0)
mass [i] = 0;
>
else
mass [i] = 1;
>
a = a >> 1;
i ++;
>
printf ( "У двійковій системі:");
i = i - 1;
for (; i> = 0; i--)
printf ( ".", mass [i]);
_getch ();
return (0);
>
int _tmain (int argc, char * argv [])
my_func (1);
>
Реалізація програми за допомогою рекурсивної функції:
#include "stdafx.h"
#include "conio.h"
#include
#include "locale.h"
using namespace std;
void rekurs (int n)
if (n! = 0)
rekurs (n / 2);
else return;
printf ( ".", n% 2);
return;
>
int main () setlocale (0, "RUS");
int n;
cout <<"Введите десятичное число: ";
cin >> n;
rekurs (n);
_getch ();
return 0;
>
У нижній код зібрані всі попередні функції в одну програму з викликом їх в основний функції main. Програма на вхід приймає 3 різних десяткових числа і вважає їх відповідно за алгоритмами, які задані в main.
#include "stdafx.h"
#include "conio.h"
#include
#include "locale.h"
void rekurs (int a)
if (a! = 0)
rekurs (a / 2);
else return;
printf ( ".", a% 2);
return;
>
int main () setlocale (0, "RUS");
int a;
scanf_s ( ".", a);
printf ( "Перше число в двійковій:");
rekurs (a);
printf ( "# 92; n");
scanf_s ( ".", a);
printf ( "Друге число в двійковій:");
my_func (a);
printf ( "# 92; n");
scanf_s ( ".", a);
printf ( "Третє число в двійковій:");
my_func2 (a);
_getch ();
return 0;
>