Wie schreibe ich dieses Program?
-
Hi!
Habe ein Problem.Wie kann ich ein Program schreiben,das prüft ob in einer einzulesenden Zahl das an der einzulesenden Position p (beide vom Typ unsigned int) befindliche Bit gesetzt ist. Wenn ja, wird true ausgegeben, andernfalls false. Zu Beginn gibt das Programm den für p zulässigen Wertebereich aus.
Ich danke euch!!
-
kannst es ein bisschen genauer erklären?!?
bit gesetzt?!? welches? wo? p ist eine position in einem vorhandenen feld?
gibt man eine position ein oder einen wert? oder beides?
-
bool funktion(unsigned int zahl, unsigned int p) { if (zahl & (1<<p)) return true; return false; }
Ich hoffe, ich hab' das Problem verstanden.
-
naja... wenns das ist...
-
Den Wertebereich kannst du so bestimmen
std::size_t min_p = 0; std::size_t max_p = sizeof(p) * 8 - 1;
Und um Killing me softly's Funktion mal aufzunehmen, würde ich die Prüfung des Bits so machen
bool pruefe_bit(unsigned int zahl, std::size_t p) { return (zahl & (1 << p)) != 0; }