C# týden ITnetwork Flashka zdarma
Akce! Pouze tento týden sleva až 80 % na kurzy C# .NET. Lze kombinovat s akcí 50 % bodů navíc na prémiový obsah!
Brno? Vypsali jsme pro vás nové termíny školení Základů programování a OOP v Brně!

Diskuze: int a operand &

Aktivity (2)
Avatar
Lubor Pešek
Člen
Avatar
Lubor Pešek:10.7.2018 15:26

Zdravíčko,

prosím vás, do jaké sekce patří tento zápis:

int a = 1 & 3;

narazil jsem na to už ve dvou java quizech (otázka na toto zněla, jaký bude output, což mi tedy moc neřeklo..)
Takže se ptám, co to je za zápis (do jakého tématického okruhu to spadá), abych si o tom něco přečetl. Sám ani nevím, jak to laicky pojmenovat a co vlastně vyhledat. Logický operátor mezi dvěma inty?

Zkusil jsem: hned píšu sem

Chci docílit: Zjistit, do jakého tématu takový zápis patří

Odpovědět 10.7.2018 15:26
Existují dva způsoby, jak vyřešit problém. Za prvé vyhoďte počítač z okna. Za druhé vyhoďte okna z počítače.
Avatar
Odpovídá na Lubor Pešek
Erik Šťastný:10.7.2018 15:31

Bitové logické operace, konkrétně bitwise AND.

Prostě normální matematická operace: 1 & 3 = 0b1 & 0b11 = 1

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět  +1 10.7.2018 15:31
Avatar
Lubor Pešek
Člen
Avatar
Lubor Pešek:10.7.2018 16:28

ok, dík.
Je to pro mě takové neobvyklé, proto jsem se na to ptal. Přeci jen není zrovna přirozené, když při deklaraci integeru vidím logický operand...

Nahoru Odpovědět 10.7.2018 16:28
Existují dva způsoby, jak vyřešit problém. Za prvé vyhoďte počítač z okna. Za druhé vyhoďte okna z počítače.
Avatar
Odpovídá na Lubor Pešek
Erik Šťastný:10.7.2018 16:32

No při deklaraci to má smysl možná tak na čitelnost kódu :)

Nicméná já to používám celkem dost v podmínách, kde potřebuji bitové masky.
např:

if (status & 0b00000100)
{
        // Třetí bit v registru je nahozen
}
Editováno 10.7.2018 16:33
 
Nahoru Odpovědět  +1 10.7.2018 16:32
Avatar
Lubor Pešek
Člen
Avatar
Odpovídá na Erik Šťastný
Lubor Pešek:10.7.2018 16:35

no, přiznám se, že s tím jsem se zatím ještě nesetkal, nicméně to bych se už tady mohl ptát furt dokola - proč to je, na co to je atd. a to už do tohoto ticketu nepatří.

Nicméně ti děkuji i za ukázku praktického využití a dál už si nastuduju sám;) Člověk se pořád učí:)
Takže ještě jednou díkes

Nahoru Odpovědět 10.7.2018 16:35
Existují dva způsoby, jak vyřešit problém. Za prvé vyhoďte počítač z okna. Za druhé vyhoďte okna z počítače.
Avatar
Odpovídá na Lubor Pešek
Erik Šťastný:10.7.2018 16:37

Ono v běžné desktop nebo webové aplikaci je využití asi malé. Já ale pracuji denně s hardwarem a tam to používám pořád :)

 
Nahoru Odpovědět 10.7.2018 16:37
Avatar
Lubor Pešek
Člen
Avatar
Odpovídá na Erik Šťastný
Lubor Pešek:10.7.2018 16:52

tak to je možná tím. Já mám zas analytiku a zpracování dat (taková ta Java klasika:) )

Nahoru Odpovědět 10.7.2018 16:52
Existují dva způsoby, jak vyřešit problém. Za prvé vyhoďte počítač z okna. Za druhé vyhoďte okna z počítače.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.