Wykonujemy ćwiczenie sprawdzające znajomość operatorów bitwise. Dostajemy prostą funkcję i tłumaczymy jej działanie. Do dzieła.

Co robi ta funkcja?

function magicNumber(){
    return (1 << 5) + (11^1)
}

Odp: zwraca 42. Dlaczego?

32:

  ( 32 ) ( 16 ) ( 8 ) ( 4 ) ( 2 ) ( 1 )
     0      0     0     0     0     1     (1)
                                          << 5
-----------------------------------------------
     1      0     0     0     0     0    (32)     

10:

(8) (4) (2) (1)
 1   0   1   1  (11)
 0   0   0   1  (1)
--------------- (11 ^ 1)
 1   0   1   0  (10)

I tak to działa. Ćwiczenia bitwise musimy wykonywać regularnie, inaczej nigdy tego nie zrozumiemy.