Wie würde ich das in Java machen? Finden Sie heraus, ob eine Zahl durch 2 teilbar ist, wenn die letzte Ziffer gerade ist. (0,2,4,6,8) Beispiel: 128 ist, 129 ist nicht
Verwenden Sie die bitweise Operation and
Bitweiser UND-Operator & amp;
Der & amp; (bitweiser UND) Operator vergleicht jedes Bit seines ersten Operanden mit das entsprechende Bit des zweiten Operanden. Wenn beide Bits 1 sind, Entsprechendes Bit des Ergebnisses wird auf 1 gesetzt. Andernfalls setzt es das entsprechendes Ergebnisbit auf 0 ( Quelle ).
Im binären -Format ist bei geraden Zahlen das niedrigstwertige Bit gleich null . dies zu wissen und die & amp; Bediener können Sie herausfinden, ob es gerade ist oder nicht.
Es braucht also eine Zahl ..abcdy und vergleicht mit ..00001, wenn y null ist ..abcdy & amp; ..00001 ist auch Null, also eine gerade Zahl.
Sehen Sie, ob das rechte Bit 1 ist und nicht, indem Sie bitweise Operatoren verwenden
führen Sie logische und mit (zum Beispiel)
%Vor%Überprüfen Sie das niedrigstwertige Bit:
%Vor% LSB ist 0
für gerade Zahl und 1
für ungerade, genauso wie für Dezimalzahlen am wenigsten signifikante Stelle ist 0
, wenn es durch 10
teilbar ist.
Teilen Sie die Zahl durch 2 und multiplizieren Sie die Antwort 2 . Wenn Sie Ihre ursprüngliche Zahl erhalten, lautet die Zahl "Even" dann ist die Nummer "Ungerade"
%Vor%Tags und Links java syntax bit-manipulation logic