Ich habe eine lange und ich möchte überprüfen, ob ein Bit an einer bestimmten Position eingestellt ist oder nicht.Java: Überprüfen, ob ein bestimmtes Bit in einem langen
Angenommen, die lange A
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 0010 0100 0100
So wird das Bit bei 3, 7, 10, 13 Positionen eingestellt sind.
Jetzt habe ich lange eine andere B
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0010 0000 0000
und in dieser langen Bit-Position 10 gesetzt ist. (Es ist sichergestellt, dass nur ein Bit wird in Sekunden lang eingestellt werden)
nun von oben zwei Long-Positionen zu vergleichen A
und B
ich feststellen möchten, ob die Position 10 Bit in A
lang gesetzt ist oder nicht.
Eine Lösung ist
prüfe ich zuerst in
B
lange Bit die Position gesetzt wird können sagen, diese Positionp
ist. Dies beinhaltet ein Schleifen über jedes Bit, um zu prüfen, ob dieses Bit gesetzt ist.Jetzt in
A
lange kann ich überprüfen, obp
Bit gesetzt ist oder nicht
Meine Frage ist es eine andere Lösung, weil ich über jedes Bit in einer Schleife nicht wollen, und ich don‘ t wissen, welche Position welches Bit vorher prüfen soll.
EDIT: Ich hatte einen Blick auf Java: Checking if a bit is 0 or 1 in a long und in dieser Frage x
vorher bekannt ist, aber ich weiß nicht, die Position vorher.
@Danieboy Es ist kein Duplikat, in dieser Frage ist 'x' bekannt. – Ritesh