Forum Sveta kompjutera

Nazad   Forum Sveta kompjutera > Test Run > Programiranje

Programiranje Programski jezici, tehnike, alatke...

 
 
Alatke vezane za temu Vrste prikaza
Stara 5.3.2008, 11:24   #1
Stevvan
Veteran
 
Član od: 17.12.2005.
Lokacija: Zarkovo, Beograd
Poruke: 1.114
Zahvalnice: 97
Zahvaljeno 179 puta na 104 poruka
Slanje poruke preko MSN-a korisniku Stevvan Slanje poruke preko Skypea korisniku Stevvan
Određen forumom Dobijanje broja koji je stepen od 2

Od skora krenuo ozbiljnije da ucim ogl, pa me je deo za ucitavanje textura naterao da napisem jednu f-ju koja radi sledece: Uzima neki broj i posle vraca najblizi broj koji je stepen od 2. Npr za brojeve od 9 do 15 to ce biti 16, za brojeve od 17 do 31 to ce biti 32 itd... Voleo bih da vidim kako bi neko od vas ovo resio, evo f-je koju sam ja napisao:

Kod:
unsigned int get_power_of_two(unsigned int number)
{
    if ((number&(number-1)) == 0) //Ovo proverava dal je broj vec stepen od 2
    {
        return number;
    }
    else
    {
        const int len = sizeof(int)*8;
        bool number_bits[len]; //pravi se array za bitove od kojih se broj sastoji 

        for (int n = 0; n< len; n++)
        {
            number_bits[n] = 0;
        }

        //Ovaj deo cita uneti broj i u array smesta 1 ako ili 0 tamo gde treba
        //Vazno je reci da se brojevi postavljaju od nazad zbog lakseg pronalazenja stepena 2

        int counter = 0; 
        while (number!=0)
        {
            number_bits[len-1-counter] = number%2;
            number/=2;
            counter++;
        }

        Ovde se trazi u array-u gde je prva jedinica
        int i;
        for (i=0; i < len;i++)
        {
            if (number_bits[i] == 1)
                break;
        }
        //Na kraju dobijamo broj koji je stepen od 2 
        return (unsigned int)pow(2, len-i);
    }
}
Ne znam jel svima jasna ovo moja "metoda", ako nije pojasnicu, ali bih voleo da vidim kako bi neko drugi to uradio, jer sam siguran da postoji optimiozvanija i kraca resenja, ali me moje neznanje sputava da ih upotrebim
Stevvan je offline   Odgovor sa citatom ove poruke
 

Bookmarks sajtovi

Alatke vezane za temu
Vrste prikaza
Pregled sa stablom odgovora Pregled sa stablom odgovora

Vaš status
Ne možete postavljati teme
Ne možete odgovarati na poruke
Ne možete slati priloge uz poruke
Ne možete prepravljati svoje poruke

BB kod: uključeno
Smajliji: uključeno
[IMG] kod: uključeno
HTML kod: isključeno


Slične teme
tema temu započeo forum Odgovora Poslednja poruka
Život na Marsu? Ice-Man Brbljaonica 149 26.11.2008 0:26
Zabranjeno za mladje od 80 godina nighthawk Opšta kultura 100 13.10.2007 22:26
Šta je ADSL? Kako radi ADSL? Struktura DSL mreže..... JovanK Internet tehnologije 9 16.7.2007 12:40
Računari = Ljubav, naravno. Kako zaraditi od racunarskog znanja? vickovic zlatko Opšta kultura 75 13.7.2007 23:21
Uzeo bih IrDA na USB2.0 - koji je najbolji ??? Ilic Marko Komunikacioni uređaji i umrežavanje 3 23.2.2006 19:45


Sva vremena su po Griniču +2 h. Sada je 7:57.


Powered by vBulletin® verzija 3.8.7
Copyright ©2000–2026, vBulletin Solutions, Inc.
Hosted by Beograd.com