Jak przekonwertować z dwójkowego na dziesiętny ?

0

Witam wszystkich !
Czy ktoś mi podpowie jak przekonwertować liczbę w systemie dwójkowym na liczbę w systemie dziesiętnym ? Czy są jakieś gotowe fukcje konwertujące z systemu binarnego na dziesiętny ?

I moje drugie pytanie związane z powyższym. Jak liczbę podaną w systemie dwójkowym wrzucić do tablicy tak aby każdy element tablicy zawierał tylko jedną cyfrę. Podaje np. liczbe 111001 i chcę aby znalazła się on w tablicy rodzielona w sposób tablica[0]=1 tablica[1]=1 tablica[2]=1 tablica[3]=0 itd. Chciałem sobie napisać własny algorytm który by przeliczał liczbę dwójkową na dziesiętną i spotkałem się właśnie z tym problemem.

Proszę o pomoc :-)

0

Można skorzystać choćby z tego:
http://4programmers.net/view_faq.php?id=286

0

http://4programmers.net/Forum/viewpost.php?id=104034&h=digit

Np. tak

// uff. W końcu znalazłem; tylko ja uzywam słówka digit :]

0

Ja też mam rozwiązanie:

#include <iostream.h>

//z dziesiętnego na binarki:
int liczba = 20;
char *wyjscie = new char [sizeof(liczba)*8];
for(char pos=0; pos<sizeof(liczba)*8; pos++) wyjscie[sizeof(liczba)-pos] = (bool)((liczba&(1<<pos)))+48;
cout << wyjscie;
delete wyjscie;
//unsigned char *tab = new unsigned char[];
getc(stdin);

//z binarnego na dziesiętny:
char *text = new char[100];
cin >> text;
int wynik=0;
unsigned char len = strlen(text);
for(unsigned char pos=0; pos<len; pos++)
    wynik += (((bool)(text[pos]-48))<<pos);
cout << wynik;
delete []text;

PS> Takie sobie to, ale co mi tam...

0

Dzięki wszystkich za odpwiedzi !
Poradziłem sobie z tym problem :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1