Fråga : Logisk operatör för Java gunga

Jag har något kodifierar utdraget från DefaultButtonModel.java. Undra för förmiddag I vad gör efter funktionsmedel:

            stateMask |= MÖJLIGGJORT;
            stateMask &= ~PRESSED;

stateMask är int som MÖJLIGGÖRAS är finalen int (1 << 3), PRESSANDE är int (1<<2). den offentliga finalstatisk elektricitet int för

TRYCKTE PÅ = 1 << 2; den offentliga finalstatisk elektricitet int för
MÖJLIGGJORDE = 1 << 3;

Does stateMask |= MÖJLIGGJORT medel: 1) stateMask ELLER MÖJLIGGJORT, tilldelar därefter det baksida till stateMask? för stateMask&= för
Does medel för ~PRESSED: 1) negPRESS först (0x0 till 0x1, 0x1 till 0x0), därefter OCH med stateMask, resultatet tilldelas till stateMask?
> för
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
" codeBody " " >public för class= " för
" klar "

Svar : Logisk operatör för Java gunga

Hi learningunix,

fodra kontrollerar, om byten längst till vänster av ”numeriskt” är ”1”.

”&numen” är en pekare till minnet tilltalar var den första byten av ”numeriskt” bor. ”(Char*)” casts denna pekare ”&num” (som är en pekare till int), till en pekare för att bränna till kol. Sedan rödingen är, en byte data skrivar att ta fram att ”pekaren som ska brännas till kol” med ”*” tar fram den första byten av inten. I lite endian denna byte måste att vara ”1” för och ”int”, som är ”1” - i stort endian den första skulle byten är ”0”, sedan den minst viktiga byten är mest höger…,

Hoppas att hjälp,

ZOPPO

Andra lösningar  
 
programming4us programming4us