Re: Bits in integer-Wert

Marcel Reckers <[email protected]>
Newsgroups gmane.linux.suse.programming
Message-ID <[email protected]>
So, hab das Programm mal geschrieben (sogar mit Kommentar :) ) !
Das Programm ist in C++ geschrieben.

#include<iostream>

using namespace std;

int main( void )
{
     int zahl, zaehler, potenz = 1;  //Deklaration der benötigten Variablen

	zahl = zaehler = 0;

	
	cout<<"Zahl eingeben: ";     // Einlesen der auf die Anzahl der 
gesetzten Bits zu untersuchenden Zahl
	cin >> zahl;

	while( (zahl-potenz) > 0 ) potenz *= 2; // die größtmögliche 2er-Potenz 
herausfinden, die in die
											// eingegebene Zahl hineinpasst

	potenz /= 2; // Potenz auf die nächst niedrigere 2er-Potenz verringern, da
	             // der letzte Schleifen-Durchlauf die Potenz nochmal 
(einmal zu oft) erhöht hat
				
	while(zahl >= 0 && potenz != 0)
	{
		if ( (zahl - potenz) >= 0 )     // wenn die Zahl minus der 2er-Potenz 
größer oder gleich 2 ist
		{								// ,dann subtrahiere die 2er-Potenz von der Zahl und erhöhe den
			zahl -= potenz;             // Zähler (den Zähler der gesetzten Bits) 
um 1
			zaehler++;
		}
		
		potenz /= 2; // Potenz auf die nächst niedrigere 2er-Potenz verringern		
	}

	cout<<"Es sind "<<zaehler<<" Bits gesetzt.\n"; //Ergebnis ausgeben

	return(0);
}

-- 
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.