Преобразуване към десетична бройна система

Да се напише програма, която позволява да се въведе число в двоична бройна система и после го отпечатва в десетична бройна система.

По желание: Да се напише програма, която позволява да се въведе число в произволна бройна система (с основа < 10) и основата на бройната система и после извежда стойността на числото в десетична бройна система.

Публикувано в 11а, 11в с етикети . Постоянна връзка.

4 Responses to Преобразуване към десетична бройна система

  1. dreanor каза:
    #include <cstdlib>
    #include <iostream>
    #include <math.h>
    using namespace std;
    
    int cifra(int &chislo){
        int a;
        a=chislo%10;
        chislo/=10;   
        return a;
        }
    
    
    int main(int argc, char *argv[])
    {
        int chislo,chislo1,osnowa;
        double desetichno=0;
        cout<<"Wuwedete chislo w broina sistema s osnowa po-malka ot 10: ";
        cin>>chislo;
        chislo1=chislo;
        cout<<"Wuwedete osnowata na broinata sistema: ";
        cin>>osnowa;
        if ((osnowa>=2)&&(osnowa<10))
        {
         
         for(double i=1,p=0;i<=chislo1;i=i*pow(10,p))  //Kum i pri wsqka prowerka na uslowieto se pribawq nula w reda na deseticite (i=10^p)
              {
               desetichno=desetichno + cifra(chislo)*pow(osnowa,p);
               ++p;
               i=1;
              }
              cout<<"\n Chisloto "<<chislo1<<" prewurnato w desetichno e "<<desetichno<<endl;
        }     
        else cout<<"Newalidna osnowa\n";   
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    

    Първоначално коментара на задачата беше написан на български, но буквите се заместиха с „?“.

  2. Gadget каза:
     
    int chislo,tzifra,y,st;
    	y=0;
    	st=0;
    	cout << "Vyvedete chisloto v dvoichna broina sistema: ";
        cin>>chislo;
        //Tzikula shte se prekrati kogato vsichki tzifri se razgledat po otdelno
        for(;chislo!=0;){
        //Razglejdame tzifrite po otdelno   
        tzifra=chislo%10; 
        chislo=chislo/10;
        y+=tzifra*(pow(2,st));
        //Stepenta sus vsqka iteratziq shte se pokachva
        st++;
    }
        cout<<"Chisloto, oburnato v desetichna broina sistema, e: "<<y<<endl;
    
  3. Gadget каза:
    //Reshenie s proizvolna ot nas osnova
        int chislo,tzifra,osnova,y,st;
    	y=0;
    	st=0;
    	cout <<"Vyvedete chisloto v dvoichna broina sistema: ";
        cin>>chislo;
        cout<<"Vuvedete osnova (ot 2 do 10): ";
        cin>>osnova;
        for(;chislo!=0;){
        tzifra=chislo%10; 
        chislo=chislo/10;
        y+=tzifra*(pow(osnova,st));
        st++;
    }
        cout<<"Chisloto, oburnato v desetichna broina sistema, e: "<<y<<endl;
    

Вашият коментар