Discussion:
Co to jest "^" - co to robi
(Wiadomość utworzona zbyt dawno temu. Odpowiedź niemożliwa.)
tomgrzes
2003-11-25 00:04:37 UTC
Permalink
Po co wywazac otwarte drzwi skoro jest gotowa klasa wiec znalazlem
kawalek klasy przydatnej, ale nie wiem co robi ten daszek. Czy jest to
nawiazanie do metody wskaznikowej w PASCALU? :)



public boolean sound=true;
...
public boolean mouseDown(Event evt,int x,int y)
{
sound^=true; //co to jest interesuje mnie tylko ta linijka co
sie stanie ze zmienna "sound"
return true;
}
...

Dzieki
Maciej (pl)
2003-11-25 00:19:27 UTC
Permalink
To jest tak zwany wskaznik jak w c np boolean *pointer
o ile pamietam z pascala.

Czyli pod
boolan *sound; //definicja
*sound = true;
czyli sound bedzie wskazywal na true.

pzdr.
--
Maciej (pl)
------
http://arkit.webpark.pl
Post by tomgrzes
sound^=true; //co to jest interesuje mnie tylko ta linijka co
sie stanie ze zmienna "sound"
Tomasz Poradowski
2003-11-25 00:37:53 UTC
Permalink
Post by Maciej (pl)
To jest tak zwany wskaznik jak w c np boolean *pointer
o ile pamietam z pascala.
Czyli pod
boolan *sound; //definicja
*sound = true;
czyli sound bedzie wskazywal na true.
Hm, przypominam, że jesteśmy na grupie pl.comp.lang.java ;), więc wskaźniki
to trochę nie tu... A ów "daszek" to zwykła operacja XOR (logiczna lub
bitowa).

Pozdrawiam,
Tomek
--
batonik (at) provider.pl
Filip Sielimowicz
2003-11-25 07:17:41 UTC
Permalink
Post by Tomasz Poradowski
Hm, przypominam, że jesteśmy na grupie pl.comp.lang.java ;), więc wskaźniki
to trochę nie tu... A ów "daszek" to zwykła operacja XOR (logiczna lub
bitowa).
Rzeczywiście, chłopaki się nieźle rozmarzyli ...
Dodam, że logiczny "daszek" (^) jest tożsamy z logicznym operatorem (!=):

public class testLogicXor {
public static void main(String[] args) {
for (int i=0;i<4;i++) {
boolean a=(i&1)>0;
boolean b=(i&2)>0;
System.out.println(""+a+"*"+b+": "+(a^b)+"=="+(a!=b));
}
}
}

Filip Sielimowicz
http://panda.bg.univ.gda.pl/~sielim/program.htm
nowy
2003-11-27 15:11:28 UTC
Permalink
Post by Filip Sielimowicz
Post by Tomasz Poradowski
Hm, przypominam, że jesteśmy na grupie pl.comp.lang.java ;), więc wskaźniki
to trochę nie tu... A ów "daszek" to zwykła operacja XOR (logiczna lub
bitowa).
Rzeczywiście, chłopaki się nieźle rozmarzyli ...
public class testLogicXor {
public static void main(String[] args) {
for (int i=0;i<4;i++) {
boolean a=(i&1)>0;
boolean b=(i&2)>0;
System.out.println(""+a+"*"+b+": "+(a^b)+"=="+(a!=b));
}
}
}
He dokładnie ;-)

Jeszcze dodam dla większej informacji

Wszyskie operatory dodawania, odejmowania itp. pisane w ten sposób
int a = 0;
a @= 1;
znaczą to samo co a = a @ 1;(oczywiście jeśli chodzi o javę) ;-).
natomiast operator '^' nazywa się operatorem bitowym modulo i robi dokładnie
coś takiego 0101 ^ 1011 == 0001 // ale nie mam możliwości tego teraz sprawdzić
czyli 5 ^ 11 == 1;
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
nowy
2003-11-27 15:15:13 UTC
Permalink
Post by Filip Sielimowicz
Post by Tomasz Poradowski
Hm, przypominam, że jesteśmy na grupie pl.comp.lang.java ;), więc wskaźniki
to trochę nie tu... A ów "daszek" to zwykła operacja XOR (logiczna lub
bitowa).
Rzeczywiście, chłopaki się nieźle rozmarzyli ...
że ^ nie jest operatorem logicznym logiczne są || && bitowe & | ^ >> << >>>
artmetyczne + - * / .
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Loading...