Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Převod čísla z dvojkové do desítkové soustavy v C++

Myslím, že vím jak na to, mám jen problém, že potřebuji změnit ASCII adresu (místo zvýrazněno) na normální znak (např. 48 na 0) a nevím jak, i po přetypování (int(něco) atd.) mi to počítá pořád se 48kou místo 0 :D

Kód vypadá takhle:

#include<iostream>
#include<cmath>
#include<string>
using namespace std;

int main(){
cout << "Zadejte cislo ve dvojkove soustave: " << endl;
char vstup[80];
cin >> vstup;//otocene bin. cislo
int i = 0;
int vypis = 0;

while(vstup[i] != '\0'){
if (vstup[i] == '0' || vstup[i] == '1' ){

vypis = vypis + vstup[i]*pow(2.0,i);
++i;

}else{
cout << "Nespravny vstup." << endl;
return 0;
}
}


cout << vypis << endl;
return 0;
}

P.s.: Viděl jsem, že převody mezi číselnými sous. jdou provádět i pomocí bitového posunu - mohlis byste mi někdo, prosím, vysvětlit jak?

Odpověď na otázku

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny