www.delorie.com/archives/browse.cgi | search |
From: | "Campbell, Rolf [SKY:1U32:EXCH]" <cp1v45 AT americasm01 DOT nt DOT com> |
Newsgroups: | comp.os.msdos.djgpp |
Subject: | Re: Bit counting? |
Date: | Fri, 13 Aug 1999 14:50:28 -0400 |
Organization: | Nortel Networks |
Message-ID: | <37B468F3.8D06584A@americasm01.nt.com> |
References: | <37B45836 DOT EAD7C82D AT swipnet DOT se> |
NNTP-Posting-Host: | bmerhc00.ca.nortel.com |
Mime-Version: | 1.0 |
X-Mailer: | Mozilla 4.7 [en] (X11; I; HP-UX B.10.20 9000/712) |
X-Accept-Language: | en |
Lines: | 27 |
To: | djgpp AT delorie DOT com |
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp |
Reply-To: | djgpp AT delorie DOT com |
Anders David Skarin wrote: > Hi, > > What is the fastest way (or just a damn fast way) to > count the nr of binary 1's in a byte/word/dword ? > > Is there any assembler instruction for this ? > (there should be, considering the nr of instructions > in the sisc processors) There are instructions for bsf (bit scan forward), but I don't think for bitcount. Here some good C code for it. [Untested!] int count=0; int data=whatever; while(data&=(data-1)) count++; - -Rolf Campbell (39)3-6318
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |