Navigace: Hlavní stránka -> Jazyk C -> 07 Podprogramy -> 07.05 Funkce - převod čísla z desítkové do dvojkové soustavy

MENU

07.05 Funkce - převod čísla z desítkové do dvojkové soustavy

Zadání:
Sestavte funkci na převod desítkového čísla do dvojkové soustavy.
Řešení:
Funkce je řešena postupným dělením zadaného desítkového čísla číslem 2 a na základě zbytku tohoto dělení se postupně
ke znakovému řetězci přidává zprava nula nebo jednička. Dělení končí, pokud výsledek bude nulový.

Př.:
34 : 2 = 17, zb. 0
17 : 2 = 8, zb. 1
8 : 2 = 4, zb. 0
4 : 2 = 2, zb. 0
2 : 2 = 1, zb. 0
1 : 2 = 0, zb. 1

Výsledek: 100010
#include "stdafx.h"
#include "math.h"
#include 
#include 

using namespace std;

string prevod(int x)
{
	string y;
    
	do
	{
		if (x%2==1) y="1"+y;
			   else y="0"+y;
		x=x/2;
	}
    while (x!=0);
    return y;
}

int _tmain(int argc, _TCHAR* argv[])
{
	int a;
    string s;

    printf("Zadejte cislo v desitkove soustave: ");
    scanf_s("%d",&a,1);

    s=prevod(a);

	printf("%d=",a);
	cout<<s;
	printf("B\n");
 
	system("pause");
	return 0;
}
program ke stažení