Rozumiem, że operator pojedynczego znaku ampersand jest zwykle używany do operacji bitowej AND. Czy jednak ktoś może pomóc w wyjaśnieniu interesujących wyników uzyskanych podczas porównywania dwóch liczb?Zrozumienie zachowania pojedynczego operatora i (i) na liczbach całkowitych
Na przykład;
(6 & 2) = 2
(10 & 5) = 0
(20 & 25) = 16
(123 & 20) = 16
Wygląda na to, że między tymi wynikami nie ma logicznego związku - czy czegoś brakuje? Dokumentacja online wydaje się odnosić tylko do porównania wartości binarnych lub pojedynczych bitów.
Czy jesteś pewien (20 i 25) == 4? – Nick
@Nick Mam to. –
To, co widzisz *, jest * wynikiem operacji "bitowej AND". (Z wyjątkiem '(20 & 25) = 4' bit, który, jak zakładam, jest literówką.) – LukeH