Valentínska akcia je tu! Získaj až 80 % extra kreditov ZADARMO na náš interaktívny e-learning. ZISTIŤ VIAC:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:
Avatar
Theodor Johnson
Tvůrce
Avatar
Theodor Johnson:12.8.2013 10:47

Ahoj, zrovna jsem narazil na logický operátor xor, ale zajímalo by mě jak funguje se třemi podmínkami

0 XOR 0 = 0
1 XOR 0 = 1
0 XOR 1 = 1
1 XOR 1 = 0

1 XOR 1 XOR 1 = 1
0 XOR 0 XOR 0 = 0
 
Odpovedať
12.8.2013 10:47
Avatar
archlin
Člen
Avatar
archlin:12.8.2013 10:55

1 xor 1 xor 1 = (1 xor 1) xor 1 => 1
0 xor 0 xor 0 = (0 xor 0) xor 0 => 0

Hore Odpovedať
12.8.2013 10:55
sublime text 2
Avatar
Theodor Johnson
Tvůrce
Avatar
Odpovedá na archlin
Theodor Johnson:12.8.2013 10:58

Díky, teď už mi to došlo :)

 
Hore Odpovedať
12.8.2013 10:58
Avatar
Martin Dráb
Tvůrce
Avatar
Martin Dráb:12.8.2013 11:01

XOR = exkluzivní OR, nebo také non-ekvivalence:
A XOR B je to samé jako NOT (A <=> B)

Hore Odpovedať
12.8.2013 11:01
2 + 2 = 5 for extremely large values of 2
Avatar
Kit
Tvůrce
Avatar
Odpovedá na Theodor Johnson
Kit:12.8.2013 11:18

XOR je operátor, který by se měl používat co nejméně a hlavně až po zralé úvaze. Jeho použití v programování není sice tak rizikové jako v elektronice, ale i tak je většinou lepší se mu vyhnout.

Hore Odpovedať
12.8.2013 11:18
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Theodor Johnson
Tvůrce
Avatar
Odpovedá na Kit
Theodor Johnson:12.8.2013 11:31

Zatím jsem ho nepoužil nikdy, spíš jsem to našel na msdn a zajímalo mě jak funguje :)

 
Hore Odpovedať
12.8.2013 11:31
Avatar
Kit
Tvůrce
Avatar
Odpovedá na Theodor Johnson
Kit:12.8.2013 12:05

Na MSDN jsem už našel spoustu kravin, např. "goto".

Uvědom si, že MSDN není manuál, ale referenční příručka. Musí v ní být i konstrukce, které se sice nemají používat, ale jsou součástí jazyka.

Hore Odpovedať
12.8.2013 12:05
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovedá na Kit
Luboš Běhounek Satik:12.8.2013 12:22

Nevidím důvod se XORu vyhýbat.
Logický XOR sice nepoužívám, protože se dá vše zapsat bez něj, ale binární xor se občas docela hodí :)

Hore Odpovedať
12.8.2013 12:22
https://www.facebook.com/peasantsandcastles/
Avatar
Kit
Tvůrce
Avatar
Odpovedá na Luboš Běhounek Satik
Kit:12.8.2013 12:28

Nevzpomínám si, kdy jsem naposledy XOR potřeboval. Možná když jsem chtěl invertovat maskou nějakou logickou hodnotu. Takové operace se většinou skrývají uvnitř GUI a není potřebné s nimi přímo manipulovat.

Hore Odpovedať
12.8.2013 12:28
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovedá na Kit
Luboš Běhounek Satik:12.8.2013 12:44

Proč by do jazyka dávali něco, co se nemá používat?

Hore Odpovedať
12.8.2013 12:44
https://www.facebook.com/peasantsandcastles/
Avatar
TomBen
Tvůrce
Avatar
Odpovedá na Luboš Běhounek Satik
TomBen:12.8.2013 12:50

Protože ho používat lze. Svoboda kódování. :D
To že existuje tě nenutí ho použít, ale když chceš, tak i můžeš.

Hore Odpovedať
12.8.2013 12:50
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
Kit
Tvůrce
Avatar
Odpovedá na Luboš Běhounek Satik
Kit:12.8.2013 12:51

Aby si naivky myslely, že to musí používat. Taková lehká forma sadismu.

Hore Odpovedať
12.8.2013 12:51
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovedá na Kit
Luboš Běhounek Satik:12.8.2013 13:00

Že ty si myslíš, že se něco nemá používat, ještě neznamená, že se to nemá používat :)

Hore Odpovedať
12.8.2013 13:00
https://www.facebook.com/peasantsandcastles/
Avatar
TomBen
Tvůrce
Avatar
Odpovedá na Kit
TomBen:12.8.2013 13:01

On xor prolezl do všech jazyků z JSA, kde to smysl dávalo.

edit: myslím v tom low level programování to mělo smysl

Editované
Hore Odpovedať
12.8.2013 13:01
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
TomBen
Tvůrce
Avatar
Odpovedá na Luboš Běhounek Satik
TomBen:12.8.2013 13:04

Nemá neznamená nesmí. :-)
Existuje strašná spousta věcí, které se nemají.
Už jsi šel někdy přes trávu? A víš že existuje chodník?
A že se silnice 'má' přecházet jen po zebře?
Kdyby všichni dělali jen co mají, byli bychom stroje.

Hore Odpovedať
12.8.2013 13:04
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
Kit
Tvůrce
Avatar
Odpovedá na TomBen
Kit:12.8.2013 13:07

Po trávě se nechodí, ale lítá :)

Hore Odpovedať
12.8.2013 13:07
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovedá na TomBen
Luboš Běhounek Satik:12.8.2013 13:11

Reagoval jsem tím hlavně na Kitův názor na goto - že se nemá používat.

Je to jeho názor, ale prezentuje ho tu jako by to byl obecně uznávaný fakt, což není.

Hore Odpovedať
12.8.2013 13:11
https://www.facebook.com/peasantsandcastles/
Avatar
Odpovedá na Luboš Běhounek Satik
Neaktivní uživatel:12.8.2013 13:17

Mám dojem, že má na mysli používání goto například v C#. Třeba v ASM by to šlo asi těžko jinak :)

Editované
Hore Odpovedať
12.8.2013 13:17
Neaktivní uživatelský účet
Avatar
Odpovedá na Neaktivní uživatel
Luboš Běhounek Satik:12.8.2013 13:21

Ano, to souhlasí, já také neměl na mysli asm :)

Hore Odpovedať
12.8.2013 13:21
https://www.facebook.com/peasantsandcastles/
Avatar
Odpovedá na Luboš Běhounek Satik
Neaktivní uživatel:12.8.2013 13:27

Má goto třeba v již zmiňovaném C# nějaké vhodné využití?

Hore Odpovedať
12.8.2013 13:27
Neaktivní uživatelský účet
Avatar
Odpovedá na Neaktivní uživatel
Luboš Běhounek Satik:12.8.2013 13:48

Problém s goto byl ten, že se dříve používalo nadměrně a znepřehleňovalo to kód.

Ale stejně tak někteří začátečníci nadužívají třeba podmínky...

Když se goto použije opravdu na vhodném místě, tak to dokonce kód může být přehlednější a rychlejší - třeba pro vyskočení z vnořených smyček.

Editované
Hore Odpovedať
12.8.2013 13:48
https://www.facebook.com/peasantsandcastles/
Avatar
vitamin
Nevyplnené
Avatar
Odpovedá na Neaktivní uživatel
vitamin:12.8.2013 13:48

Vyskocenie z vnoreneho cykly/switchu.

 
Hore Odpovedať
12.8.2013 13:48
Avatar
Odpovedá na Luboš Běhounek Satik
Neaktivní uživatel:12.8.2013 13:49

Jsem rád za názor z druhýho břehu, jak učitel tak kit by za goto vraždili, pak nemá mít člověk dojem že se to nesmí/nemá používat :)

Hore Odpovedať
12.8.2013 13:49
Neaktivní uživatelský účet
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovedá na
Petr Nymsa:12.8.2013 13:50

Z vnořeného cyklus vyskočím buď správně nastavenou podmínkou nebo ho vložím do metody a v místě, kde potřebuju vyskočit vrátím chybnou hodnotu... goto osobně nepoužívám

Hore Odpovedať
12.8.2013 13:50
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar

Nevyplnené
Avatar
Odpovedá na Petr Nymsa
:12.8.2013 13:55

Miesto pozitia navestia a goto radsej vytvoris pomocnu premennu(ktora sa musi testovat v kazdom cykle) alebo este lepsie spravys dalsiu funkciu a budes testovat navratovu hodnotu...

 
Hore Odpovedať
12.8.2013 13:55
Avatar
Kit
Tvůrce
Avatar
Odpovedá na Neaktivní uživatel
Kit:12.8.2013 13:57

Takové goto je totiž zpravidla úplně zbytečné. Obvykle je jen ukázkou toho, že programátor neumí používat vhodnější způsoby strukturování kódu.

Hore Odpovedať
12.8.2013 13:57
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovedá na Kit
Neaktivní uživatel:12.8.2013 13:58

Přijde mi to zvláštní ale jako výmluvu to beru ;)

// občas mi totiž není vůbec jasný o čem se vy dva hádáte, konečně jednou vím :D

Editované
Hore Odpovedať
12.8.2013 13:58
Neaktivní uživatelský účet
Avatar
Kit
Tvůrce
Avatar
Odpovedá na
Kit:12.8.2013 14:00

Aspoň si vymysli nějaké jméno.

Jdeš na to chybně. Přemýšlíš nad otázkou: "jak mám nahradit goto?" a to je špatně.

Hore Odpovedať
12.8.2013 14:00
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Tvůrce
Avatar
Odpovedá na Neaktivní uživatel
Kit:12.8.2013 14:07

Luboš Běhounek Satik totiž hájí své pozice, kterými jsem si kdysi prošel a které jsem před několika lety opustil.

Hore Odpovedať
12.8.2013 14:07
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
vitamin
Člen
Avatar
Odpovedá na Kit
vitamin:12.8.2013 14:09

Ja nechcem nahradit goto. Goto nema nahradu :)
Vyskocit z vnoreneho cyklu sa da najlepsie pomocou goto. Je to prehladnejsie a rychlejsie ako pouzivat docasne premenne.
Je to preto lebo c# neumoznuje pomenovat cyklus a pouzit nieco taketo:

for:name(...){

    while(...){

        break name;
    }
}
 
Hore Odpovedať
12.8.2013 14:09
Avatar
Kit
Tvůrce
Avatar
Odpovedá na vitamin
Kit:12.8.2013 14:13

Z cyklu se dá vyskočit i returnem, což by v daném případě bylo asi nejvhodnější.

O dočasných proměnných nebyla řeč. Často jsou zbytečné.

Hore Odpovedať
12.8.2013 14:13
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovedá na Neaktivní uživatel
Luboš Běhounek Satik:12.8.2013 14:13

Občas mi to také není jasné, třeba asi před půl rokem jsme se hádali o použití klíčového slova var ( http://www.itnetwork.cz/…10d0b7e1f78e )
a Kit až před měsícem zjistil, k čemu slouží :D

Hore Odpovedať
12.8.2013 14:13
https://www.facebook.com/peasantsandcastles/
Avatar
Kit
Tvůrce
Avatar
Odpovedá na Luboš Běhounek Satik
Kit:12.8.2013 14:21

Kde bys byl, kdybys neměl oponenta? :)

Hore Odpovedať
12.8.2013 14:21
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Neaktivní uživatel:12.8.2013 15:08

Kit | Luboš Běhounek Satik

mě se vaše hádky líbí, sice mám vždycky pocit že ke konci diskusi převzali mimozemšťani, ale většinou si i něco odnesu :D

Hore Odpovedať
12.8.2013 15:08
Neaktivní uživatelský účet
Avatar
Odpovedá na Neaktivní uživatel
Michael Olšavský:12.8.2013 17:32

Většinou si odneseš plno argumentů pro a proti, ale žádnou výslednou odpověď :D

 
Hore Odpovedať
12.8.2013 17:32
Avatar
Kit
Tvůrce
Avatar
Odpovedá na Michael Olšavský
Kit:12.8.2013 17:49

Však to tak má být. Ať každý hezky přemýšlí sám za sebe. Tady nejsme na základní škole.

Hore Odpovedať
12.8.2013 17:49
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 36 správy z 36.