On Thu, Aug 29, 2002 at 06:34:28PM +0200, Francois Ryser wrote:
> Bonjours,
> 
> Je recherche une methode en c++ de compter le nombre de bits a 1 dans des
> mots de 16 bits, mais avec un imperatif de vitesse car nous devons faire sur
> 1 million de mots de 16 bits

utilise la division modulo avec 2, qui donne le reste de la division :

r = 0;
w = .... ;
for (i = 0; i < 16; ++i) {
    r += w % 2 ; // on accumule le reste de la division entiere par deux
        w = w / 2;   // division entiere */
}

avec un processeur actuelle, ca devrait prendre dans les 10ms pour
ton million de mot de 16 bits

y doit y avoir plus rapide, mais ca vaut probablement pas
la peine de se creuser plus les meninges je crois.



-- 
Philippe Strauss
http://philou.ch/

L'indiff�rence est le plus grand risque de notre temps,
la forme civilis�e de la cruaut�.  -- Zenta Maurina
.
--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question. Ouais, pour se d�sabonner aussi.

Répondre à