+ 1

Code is having logical errors. Please help!

I had made a code to convert a binary number to decimal but i think some logical errors are there. Can you help me out? I am just a beginner, would be glad if you help. #include <iostream> #include <cmath> using namespace std; int main() { int bin,pwr=1,result=0; cout<<"Type only binary value"; cin>>bin; while (bin>=0) { if (bin%10==1) {result+=pow(2,pwr);} else if (bin%10==0) {result+=0;} bin=bin/10; pwr++; } cout<<result; return 0; }

18th Sep 2018, 4:57 PM
Asirbachan
Asirbachan - avatar
1 Réponse
+ 6
#include <iostream> #include <cmath> using namespace std; int main() { int bin, pwr = 0, result = 0; cin >> bin; cout << "Binary value: " << bin << endl; while(bin > 0) { int rem = bin % 10; if(rem == 1) { int sq = pow(2, pwr); result += sq; } bin /= 10; pwr++; } cout << "\nDecimal value: " << result << endl; return 0; }
18th Sep 2018, 5:59 PM
blACk sh4d0w
blACk sh4d0w - avatar