bitowe operacje
kuba: zadanie jest z jezyka c++
mam tak:
int a=2, b=5;
a=a
b; (tutaj pojawia się w potędze, ale generalnie chodzi o operator xor w c++, bo to nie
potęgowanie)
b=b
a;
cout<<a<<" "<<b;
i co wypisze?
kompilując to wyskakuje 7 i 2
ale nie rozumiem dlaczego, a=10
2, b=101
2
więc a
b (czyli XOR)
010
101
____
111
tak samo
101
010
___
111
a 111
2=4+2+1=7
10
gdzie popełniam błąd, bo raczej nie kompilator...
27 sty 19:59
jc:
int a = 2;
int b = 5;
a = a∧b; // teraz a = 2∧5=7
b = b∧a; // teraz b = 5∧7=2
cout << a << " "<<b; // wynik 7 2
27 sty 20:53
kuba: tak, ale mógłbyś mi wytłumaczyć dlaczego? co w moim zapisie jest nietak? w sensie w tym zapisie
XOR(101,010)?
27 sty 20:56
jc: Które miejsce Cię dziwi?
Czego się spodziewałeś?
Pisz zwykłe cyfry, będzie łatwiej.
27 sty 21:24
kuba: dlaczego 2∧5=7, a 5∧7 =2?
27 sty 21:53
kuba: aha! bo po działaniu a=a⋀b wartość a=7, a nie 2
dzięki jc
27 sty 22:00