Zamiana liczby z systemu binarnego na dziesiętny w C++. Autor: Adam Czwordon.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | #include <iostream> /* run this program using the console pauser or add your own getch, system("pause") or input loop */ using namespace std; //a do potegi b, oblicza - można użyć zamiast tego funkcji pow(a,b) z biblioteki <math.h> int power(int a, int b) { int wynik = 1; for(int i=0;i<b;i++) { wynik *= a; } return wynik; } int main(int argc, char** argv) { string bin; int potega = 0; int wynik = 0; int cyfra; cout << "Podaj liczbę binarna: "; cin >> bin; for(int i=bin.length()-1; i>=0; i--) { //od końca do początku stringu cyfra = bin[i] - 48; //zamiana znaku char z kodu ASCII na cyfrę int if (cyfra != 0 && cyfra != 1) { //błędna liczba cerr<<"Nieprawidlowa liczba "<<bin; return 1; } wynik += power(2, potega++) * cyfra; } cout<<"W systemie dziesietnym: "<<wynik; return 0; } |