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.