eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingSzybkie szukanie ustawionego bituRe: Szybkie szukanie ustawionego bitu
  • Data: 2015-09-01 08:03:15
    Temat: Re: Szybkie szukanie ustawionego bitu
    Od: voy <v...@M...pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    W dniu 2015-08-31 o 21:58, szemrany pisze:
    > Hejka,
    >
    > Mam liczbę 64 bit, traktuję ją jako tablicę bitów, zazwyczaj są w niej
    > ustawione jakieś bity, ale czasem nie.
    > Jak najszybciej znaleźć indeks ustawionego bitu?
    > Wiem jak szybko sprawdzić czy zapalone są wszystkie lub żaden, ale jak
    > odkryć, że "pali" się np. czterdziesty ósmy?
    > Najprostsza jest pętla z przesuwaniem bitowym i testem skrajnego bitu, ale
    > w najgorszym razie trzeba przeiterować 63 razy.
    > Może da się szybciej?
    > Może jakieś operacje arytmetyczne?
    >

    Nie bardzo wiem o co Ci chodzi :),
    ale masz tu przykład funkcji, która zlicza ilość ustawionych bitów,
    iterując tylko po ustawionych:

    BYTE GetBitCount( UINT uiBits )
    {
    BYTE byCnt = 0;
    while( uiBits )
    {
    ++byCnt;

    uiBits &= (uiBits - 1);
    }

    return byCnt;
    }


    Pozdr :)

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: