Re: Bits in integer-Wert

Bodo Kaelberer <[email protected]>
Newsgroups gmane.linux.suse.programming
Message-ID <[email protected]>
Abend

Kam noch keine Antwort oder ging keine in die Mail-Liste?


> angenommen, wir hätten einen Integerwert, beispielsweise 'int i = 36;'
> und wollen herausfinden, welche binären Bits gesetzt sind. 
> Die Zahl 5 beispielsweise, sieht binär so aus: 0000000000000101 - also 
> sind 2 Bits gesetzt. Kann mir da jemand weiterhelfen?

Was ist das Ziel, also welche Verwendung ist beabsichtigt?
Und welche Programmiersprache?

Wenn Du beispielsweise wissen willst, ob ein bestimmtes Bit gesetzt
ist, tut's ein simpler logischer Vergleich. Ist z.B. i & 4 wahr, so
ist das dritte bit von rechts gesetzt.

Willst Du zählen, wieviele gesetzt sind, dann fällt mir nichts anderes
ein, als die Stellen der Zahl in einer Schleife durchzugehen. Also mit
Potenzen von zwei logisch zu verknüpfen oder die Zahl kontiniuerlich
durch zwei zu teilen bzw. binär nach rechts zu schieben (die meisten
Programmiersprachen haben dafür einen Operator, meistens >> ).


Bye

-- 
 1  Bodo Kaelberer
123 http://www.webkind.de/        http://www.kaelberer-aio.de/
 3  Seelig sind die, die da arm an Geist sind, denn sie werden
 4                       sich Christlich Soziale Union nennen.


-- 
Um die Liste abzubestellen, schicken Sie eine Mail an:
    [email protected]
Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken
Sie eine Mail an: [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.