Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

konverzija brojeva - hitno mi je potrebna pomoc

[es] :: C programiranje :: konverzija brojeva - hitno mi je potrebna pomoc

[ Pregleda: 1146 | Odgovora: 2 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

velkod
Veljko Davidovic
Beograd

Član broj: 13689
Poruke: 250
*.beotel.net.

ICQ: 78564653
Sajt: red.istanco.com


Profil

icon konverzija brojeva - hitno mi je potrebna pomoc24.10.2004. u 17:06

Sutra imam ispit iz c++ pa mi je potreban primer iz konverzije brojeva iz recimo binarnog u dekadni. Takodje su mi potrebne i ostale kombinacije. Znam kako ide konverzija odprilike ali mnogo bi mi pomoglo da vidim konkretno kako treba da izgleda u c++. Pozdrav.
davidovic [@] gmail.com
24.10.2004. u 17:06 

Ivan Dimkovic
Director Platform & Technology, Nero EMEA
EU

Administrator
Član broj: 13
Poruke: 11285
*.dip.t-dialin.net.

Sajt: www.linkedin.com/in/ivand..


Profil

icon Re: konverzija brojeva - hitno mi je potrebna pomoc24.10.2004. u 17:23
Ne znam sta hoces konkretno da radis - ako se radi o konzolnom upitu, onda iz binarnog u dekadni mozes da uradis konverziju vrlo prosto:

Code:

int konvertuj_me(char *binarni_broj, int duzina) {

  int broj=0, n;

  for(n=0;n<duzina;n++) {
    broj += (binarni_broj[n]=='1') ? (1<<(duzina-n-1)) : 0;
  }
  return broj;
}

24.10.2004. u 17:23 

blaza

Član broj: 961
Poruke: 736
*.vdial.verat.net.



Profil

icon Re: konverzija brojeva - hitno mi je potrebna pomoc24.10.2004. u 19:48
Zapis binarnog broja: char binarni_broj[33];
Svaki bit zauzima jedan karakter; '0' je 0; '1' je 1; bilo koji drugi karakter oznacava kraj; MSB se pamti u karakteru sa indeksom 0
Broj moze imati maksimalno 32 znacajne cifre
Code:

unsigned int bin_u_dek(char* bb){
    unsigned int j, rezultat = 0, i = 0;
    for(; !(((j = (bb[i] ^ 0x30)) & 0xfe)  || (i & 0x20)); i++)
        rezultat += rezultat + j;
    return rezultat;
}

char* dek_u_bin(unsigned int b){
    unsigned int i, j = 31, k;
    for(; b < (1 << j); j--);
    static char rezultat[33];
    for(i = ++j; j; j--){
        if(k = (b >= 1 << (j - 1)))
            b -= 1 << (j - 1);
        rezultat[i - j] = 48 + ((k) ? 1 : 0);
    }
    rezultat[i] = 0;
    return rezultat;   
}


If you want to argue with me, learn to google faster.
24.10.2004. u 19:48 

[es] :: C programiranje :: konverzija brojeva - hitno mi je potrebna pomoc

[ Pregleda: 1146 | Odgovora: 2 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.