Ich muss den Maskenwert in Bezug auf die vom Benutzer angegebene Nummer herausfinden.High-Bit auf 1 setzen und Bits auf 0 setzen [Beispiel: 10110 bis 10000]
Zum Beispiel. Wenn der Benutzer liefert eine Eingabe als
22 (binär 10110)
und dann muss ich den Maskenwert finden, indem das hohe Bit des Eingangs als 1
verändern und zu 0
ruhen. Also in diesem Fall sollte es sein:
16 (binär 10000)
Gibt es eine integrierte Methode in c
Sprache zu tun.
Sind Sie auf der Suche nach binären und? ('22 & 16 == 16') – cubrr
Sie wollen also das höchste Bit, das 1 ist, behalten und alle anderen auf Null setzen? Beispiele: 1010 -> 1000, 10100111 -> 100000000, 111 -> 100 usw. Es gibt keine solche eingebaute Funktion, aber Sie können leicht selbst eine schreiben (geschätzt 4-5 Zeilen). –
@cubrr Wenn ich bereits Wert 16 habe, was macht AND dann hier? Beispiel wenn die Eingabe 86 ist, dann muss der zweite Operand berechnet werden und das ist mein Ziel. – user5708039