Zdravím mám za úkol naprogramovat program který převede číslo z dvojkové sestavy do desítkové..
Převádějte číslo ve dvojkové soustavě do soustavy desítkové. Program čte vstupní řetězce jedniček a nul, tvořící dvojkové (binární) číslo a do výstupu zapíše jeho desítkový ekvivalent (celé číslo).
Vstupem programu je posloupnost znaků 0 a 1, představující normální zápis dvojkového čísla, tj. zapsané zleva doprava, nejvyšší řád je vlevo, nejnižší vpravo. Vstup je ukončen koncem řádku. Každý řádek vstupu obsahuje právě jedno dvojkové číslo. Pokud jsou v řetězci jiné znaky, ohlásí program chybu a ukončí se.
Výstupem programu je desítková celočíselná hodnota binárního čísla daného vstupní sekvencí, nebo hlášení o chybném vstupu.
Zatím mám jen tohle a dále jsem se zaseknul :(
#include <iostream>
#include <string.h>
#include <math.h>
using namespace std;
int main()
{
string a;
int i;
cout<<"Zadej cislo ve dvojkove soustave:"<<endl;
cin>>a;
for (i=0; i<a.length();i++)
{
{
if (a[i] !='1' && a[i] !='0')
cout<<"Nespravny vstup."<<endl;
}
if ( a[i]=='1')
{
b=pow(2)a.length-1-i
}
}
Díky za pomoc :)