[ Príspevkov: 9 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 11.07.10
Prihlásený: 11.07.10
Príspevky: 3
Témy: 2 | 2
NapísalOffline : 02.10.2010 13:32 | JAVA - PROBLEM s XOR-om

Zdravim,

tento kus kodu:

Kód:
    int x = 10;
    int y = 20;
    x ^= y ^= x ^= y;
    System.out.println(x);
    System.out.println(y);


Vypíše:
0
10

Vedeli by ste mi vysvetliť prečo? Ako funguje ten XOR pri int-och, najprv sa to prevedie do 2-kovej sustavy alebo ako? Neviem si to vobec predstavit.

Kazda rada pomoze.
Dakujem


Offline

Užívateľ
Užívateľ
JAVA - PROBLEM s XOR-om

Registrovaný: 16.02.08
Prihlásený: 08.12.10
Príspevky: 235
Témy: 13 | 13
NapísalOffline : 02.10.2010 14:07 | JAVA - PROBLEM s XOR-om

Mily psimi.

Kadze cislo je v klasickych PC ulozene vo dvojkovej sustave a vsetky data su nejakym sposobom kodovane (namapovane) na cisla. V PC su vsetko cisla. Aj tie pismenka na klavesnici su cisla :)

K Tvojmu prikladu. Nie som si isty, ale myslim, ze rovnitko sa v Jave vyhodnocuje zlava, no nie som isty, treba posliet. Z takej strany ako sa vyhodnocuje, to budes vyhodnocovat a dostanes vysledok.

K nazvu temy... So XOR nie je ziadny problem. Neviem, ci v Jave su bitove operacie fakt rychlejsie ako normalne, ale kazde kod, ktory si tu postol, ja vobec nepouziva a programovaci jazyk Java vznikla aj preto, aby nikto nemusel pisat taky prasacky kod, co ak to chce clovek pochopit, musi pozerat dokumentaciu.

int je klasicky 4 byte co je 4*8 = 32 bitov, teda je 2 na 32 (2^32) moznosti, ako vyjadrit rozne hodnoty. Totizto zaklad je jeden bit, ktory moze mat hodnotu 0 alebo 1. Ked mas bitov 32, tak mas 2^32 = 65536 roznych stavov.

Mne osobne, keby si niekto napisal taky kod a nebol by na prvych prieckach v TopCoderi, tak ho vyrazim.

Prajem slnecny den :-)


_________________
Učet je neaktívny.
Offline

Užívateľ
Užívateľ
JAVA - PROBLEM s XOR-om

Registrovaný: 19.09.06
Prihlásený: 26.06.26
Príspevky: 749
Témy: 31 | 31
Bydlisko: Ružomberok&...
NapísalOffline : 02.10.2010 14:12 | JAVA - PROBLEM s XOR-om

drobne upresnenie
2^32=4294967296


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 11.07.10
Prihlásený: 11.07.10
Príspevky: 3
Témy: 2 | 2
Napísal autor témyOffline : 02.10.2010 14:13 | JAVA - PROBLEM s XOR-om

Som ohúrený z Vašich vedomostí ako viete násobiť ôsmymi, no nikto z Vás neodpovedal na moju otázku, ako to funguje.


Offline

Užívateľ
Užívateľ
JAVA - PROBLEM s XOR-om

Registrovaný: 19.09.06
Prihlásený: 26.06.26
Príspevky: 749
Témy: 31 | 31
Bydlisko: Ružomberok&...
NapísalOffline : 02.10.2010 14:17 | JAVA - PROBLEM s XOR-om

ale odpovedal. v JAVE sa to vyhodnocuje zlava doprava.
a to ze si sa pytal na to, ako sa vykonava XOR som nepochopil :)
cize kedze mas cislo ulozene vo forme 1 a 0, netreba ho nikam konvertovat, staci
spravit
porovnavanie pre kazdy bit na rovakej urovni a ak je rovnaky, dat do vysledku nula a ak je rozny, dat 1
1101000101
1001010111
--------------
0100010010


Offline

Užívateľ
Užívateľ
JAVA - PROBLEM s XOR-om

Registrovaný: 16.02.08
Prihlásený: 08.12.10
Príspevky: 235
Témy: 13 | 13
NapísalOffline : 02.10.2010 15:07 | JAVA - PROBLEM s XOR-om

psimi píše:
Som ohúrený z Vašich vedomostí ako viete násobiť ôsmymi, no nikto z Vás neodpovedal na moju otázku, ako to funguje.


Vies, toto mam fakt najradsej. Polozis debilnu otazku (ci sa int prevedie do dvojkovej sustavy je viac ako primitivna otazka, na ktoru pozna odpoved sikovny zakladoskolak), precitas odpoved RAZ, nepochopil si, tak chyba nebude v Tebe, ale v nas, kde nikto neodpovedal na tvoju otazku.

Jedina vec, ktoru som nepovedal ( a to ani nebola otazka), ze co je to XOR. Predpokladal som, ze vies, co je XOR.

A presne pre tento sposob spravania, kde sa amateri hraju na profikov a idu si otvarat usta na ludi, som odisiel so Slovenska...

A tim amaterom nestaci povedat princip ako to funguje, ale musis im to nadiktovat a oni sa to musia naucit naspamat...

Potom clovek pride na pohovor, kde nechape, preco sa ho pytaju banality a skromne im naznaci, ze sa ho pytaju uplne banality a oni za zacnu tesit, ze konecne im tam dosiel normalny informatik...

Mas priklad na primitivne vyhodnocovanie vyrazu, ktory je prasacky zapisany. Totalne nic ine za tym nie je. A ak si nie si isty, ako fo funguje, napada Ta viac moznosti, ako by to mohlo fungovat, tak co tazko otestovat vsetky? Viac ako 4 moznosti tam nie su z toho 2 testovat je zbytocne.

A ty tento problem uz riesit neviem ako dlho a ides uz byt ohureny nejakou nasobilkou... Osobne taky postoj nestrpim a ani komunita, v ktorej som...

A ak nevies, ako sa vyhodnocuje vyraz, odporucam zopakovat zakladnu skolu...

stopa27 píše:
drobne upresnenie
2^32=4294967296


este ze Ta mam :)


_________________
Učet je neaktívny.
Online

Skúsený užívateľ
Skúsený užívateľ
JAVA - PROBLEM s XOR-om

Registrovaný: 11.01.09
Prihlásený: 07.11.26
Príspevky: 1402
Témy: 10 | 10
Bydlisko: Hrinova
NapísalOnline : 02.10.2010 15:32 | JAVA - PROBLEM s XOR-om

psimi píše:
najprv sa to prevedie do 2-kovej sustavy alebo ako?

Na to ti už odpovedal ado21. V okamihu nahrávania programu do pamäte už sú iba jednotky a nuly. Zápis x=10 je len vyhradené pamäťové miesto veľkosti 32-bitov, v ktorom bude hodnota:
Kód:
00000000000000000000000000001010

Ak ti teda mám odpovedať na túto otázku, tak si môžeš predstaviť, že všetko čo napíšeš v editore je nakoniec reprezentované v dvojkovej sústave, teda nie len aritmetické operácie, ale aj napríklad volanie funkcií. Ak ťa to zaujíma viac, tak si naštuduj niečo o assembleri, čo ja vlastne strojový kód v ľudskejšej podobe ( miesto zápisu 101110000 uvidíš inštrukciu MOV apod... ).

Ak nevieš, ako funguje XOR ani po vysvetlení od stopa27, tak ja som si to ešte kedysi na strednej zapamätal tak, že som ho bral ako taký prepínač. 1 znamená prepni, 0 znamená neprepni, nechaj bit nezmenený. Čiže:
0 XOR 1 --> Jednotka značí prepni stav 0, čiže výlsedok bude 1. Prípadne ak by si na to išiel od začiatku, tak 0 znamená neprepínaj stav jedna, čiže výsledok bude 1. Chce to len poriešiť pár príkladov a vojdeš do toho.

ado21 píše:
A presne pre tento sposob spravania, kde sa amateri hraju na profikov a idu si otvarat usta na ludi, som odisiel so Slovenska...

Akoby inde takí ľudia neboli :roll: ... a po ďalšie, psimi sa nehral na profíka, nikoho neurážal, iba si pýtal odpoveď, ktorú nedostal. To akože keď si založím tému, môžem si položiť iba jednu otázku? Ak to tak je v tej tvojej slávnej komunite, ktorú musíš v každom druhom príspevku spomínať, tak tu na pcfore to tak nie je ....


Offline

Užívateľ
Užívateľ
JAVA - PROBLEM s XOR-om

Registrovaný: 16.02.08
Prihlásený: 08.12.10
Príspevky: 235
Témy: 13 | 13
NapísalOffline : 07.10.2010 10:42 | JAVA - PROBLEM s XOR-om

http://stackoverflow.com/questions/3844934/why-is-this-statement-not-working-in-java-x-y-x-y


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 29.10.08
Prihlásený: 30.07.12
Príspevky: 933
Témy: 2 | 2
NapísalOffline : 07.10.2010 10:57 | JAVA - PROBLEM s XOR-om

kam ten svet speje ? mna, opravara telkacov na strednej mucili Karnaughovou mapou a tu chlapec ma problem s XOR :(


 [ Príspevkov: 9 ] 


JAVA - PROBLEM s XOR-om



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

POmoc s bitovým XOR-om

v Backend

3

770

16.02.2008 11:07

ado21

V tomto fóre nie sú ďalšie neprečítané témy.

Problém s Hardwar-om alebo Softwar-om

v Windows

4

427

20.11.2015 23:31

4040

V tomto fóre nie sú ďalšie neprečítané témy.

Problém s Bluetooth-om

v Notebooky a netbooky

16

1735

25.02.2013 7:44

petert

V tomto fóre nie sú ďalšie neprečítané témy.

problem s PHPmailer-om

v Backend

6

584

11.06.2009 21:37

Draex

V tomto fóre nie sú ďalšie neprečítané témy.

Problem s notebook-om

v Siete

1

521

26.07.2010 23:51

Jaro

V tomto fóre nie sú ďalšie neprečítané témy.

Problém s FreePascal-om

v Backend

1

469

11.12.2011 10:40

magic

V tomto fóre nie sú ďalšie neprečítané témy.

Problem s div-om ..

v Frontend

3

660

01.11.2008 19:01

Scorpion

V tomto fóre nie sú ďalšie neprečítané témy.

Problém s nvmixer-om

v Unix-like systémy

3

953

28.06.2006 15:16

router

V tomto fóre nie sú ďalšie neprečítané témy.

Problem s Thunderbird-om

v Sieťové programy

0

525

09.05.2009 21:51

limaK

V tomto fóre nie sú ďalšie neprečítané témy.

Problém s RACER-om

v Hry a herné konzoly

1

632

15.02.2007 11:20

Maroshx

V tomto fóre nie sú ďalšie neprečítané témy.

Problém so Shockwave flash-om

v Sieťové programy

5

8714

06.06.2013 20:25

Viliam

V tomto fóre nie sú ďalšie neprečítané témy.

VISTA problem s BIOS-om

v Windows

5

555

04.10.2009 19:48

prandof

V tomto fóre nie sú ďalšie neprečítané témy.

Problem s ping-om, latency

v Ostatné

1

369

26.01.2021 12:35

goldrat

V tomto fóre nie sú ďalšie neprečítané témy.

XOR

v Ostatné

3

774

29.07.2009 18:46

Wpegb

V tomto fóre nie sú ďalšie neprečítané témy.

mensi problem s wifi router-om

v Sieťové programy

1

455

09.02.2011 21:23

firefox4free

V tomto fóre nie sú ďalšie neprečítané témy.

menší problem s wifi router-om..:)

v Siete

4

599

07.01.2011 21:16

ERINO112



© 2005 - 2026 PCforum, edited by JanoF