Klíčový rozdíl – bitové vs. logické operátory
Při programování existují situace, kdy je třeba provádět matematické výpočty. Operátor je symbol programovacích jazyků pro provádění specifických logických nebo matematických funkcí na hodnotě nebo proměnné. V programovacích jazycích existují různé operátory. Některé z nich jsou aritmetické operátory, relační operátory, logické operátory, bitové operátory a operátory přiřazení. Aritmetické operátory podporují matematické operace, jako je sčítání (+), odčítání (-), dělení (/), násobení (), modul (%), inkrementace (++) a dekrementace (–). Relační operátory jsou >, >=, <, <=,==nebo !=. Tyto operátory pomáhají najít vztah operandů. Operátory přiřazení přiřazují hodnoty z pravého operandu na levý operand. Bitové operátory jsou &, |, ^. Logické operátory jsou &&, ||, !. Tento článek popisuje rozdíl mezi bitovými a logickými operátory. Klíčový rozdíl mezi bitovými a logickými operátory spočívá v tom, že bitové operátory pracují na bitech a provádějí operace bit po bitu, zatímco logické operátory se používají k rozhodování na základě více podmínek.
Co jsou bitové operátory?
Bitové operátory pracují na bitech a provádějí operace bit po bitu. Při výpočtech jako je sčítání, odčítání, násobení, dělení atd. se hodnoty převádějí na binární soubory. Tyto operace se provádějí na bitové úrovni. Zpracování na bitové úrovni se používá ke zvýšení rychlosti a úspoře energie. Některé příklady bitových operátorů jsou následující. & představuje bitové AND. | představuje bitové OR. ^ představuje bitový výlučný OR.~ je doplněk. Symbolpředstavuje posun doprava.<>
Bitová operace AND je následující. Když x a y jsou operandy a x má hodnotu 0 a y má hodnotu 0, pak bitový AND je 0. Když x je 0 a y je 1, pak je bitový AND 0. Jestliže x je 1 a y je 0, pak je bitový AND 0. Když oba x a y mají 1, bitový AND je 1. Výstup bude 1, pouze pokud oba operandy obsahují hodnotu 1. Předpokládejme 20 a 25 jako dvě hodnoty. Binární číslo 20 je 10 100. Binární číslo 25 je 11 001. Bitový AND těchto dvou čísel je 10 000. Při provádění bit po bitu AND operace nastane hodnota jedna pouze tehdy, když oba operandy obsahují jedničku.
Bitová operace OR je následující. Když x a y jsou operandy a x má hodnotu 0 a y má hodnotu 0, pak bitové OR je 0. Když x je 0 a y je 1, pak je výstup 1. Když x je 1 a y je 0, výstup je 1. Když oba x a y mají hodnotu 1, výstup je 1. Ze dvou operandů, pokud je jeden z operandů 1, je bitový OR 1. Předpokládejme 20 a 25 jako dvě hodnoty. Binární číslo 20 je 10100. Binární číslo 25 je 11001. Bitové OR 20 a 25 je 11101.
Bitový operátor XOR dá 1, pokud se obě hodnoty liší. Když jsou x a y operandy nuly, pak je bitové XOR 0. Když x je 0 a y je 1, výstup je 1. Když x je 1 a y je 0, pak je výstup 1. Když jsou x i y 1, pak je výstup 0. Bitové XOR 20 a 25 je 01101. Symbol ~ má převzít doplněk hodnoty. Binární hodnota 20 je 10100. Doplněk je ~20=01011. Slouží k převodu jedniček na nuly a převodu nul na jedničky.
<< je binární operátor řazení vlevo. Hodnota levých operandů se posune doleva o počet bitů zadaný pravým operandem. V příkladu 5 << 1 je binární hodnota 5 0101. 0101 je binární operátor posunu vpravo. Hodnota levého operandu se posune doprava o počet bitů zadaný pravým operandem. Například 5 >>1, 0101 >> 1 je 0010.<>
Co jsou logické operátory?
Logické operátory se používají k rozhodování na základě více podmínek. Symbol && představuje logické AND. || symbol představuje logické NEBO. ! symbol představuje logické NE. Pokud jsou v logickém AND oba operandy nenulové, podmínka se stane pravdivou. Pokud jsou v logickém OR oba operandy nenulové, podmínka se stane pravdivou. ! operátor může obrátit logický stav operandu. Pokud je podmínka pravdivá, operátor Logical NOT ji učiní nepravdivou. Pravda představuje hodnotu 1 a nepravda představuje hodnotu 0.
Obrázek 01: Bitové a logické operátory
Když má proměnná x hodnotu 1 a proměnná y má hodnotu 0, logický AND, který je (x && y) je nepravdivý nebo 0. Logické OR, které je (x || y), dá hodnotu true nebo 1. Operátor NOT obrací logický stav. Když má x hodnotu 1, pak ! x je 0. Když y má hodnotu 0, pak !y je 1.
Jaká je podobnost mezi bitovými a logickými operátory?
Oba jsou operátory v programování pro provádění specifických logických nebo matematických funkcí na hodnotě nebo proměnné
Jaký je rozdíl mezi bitovými a logickými operátory?
Bitové vs logické operátory |
|
Bitový operátor je typ operátoru poskytovaný programovacím jazykem pro provádění výpočtů. | Logický operátor je typ operátora poskytovaný programovacím jazykem k provádění operací založených na logice. |
Funkčnost | |
Bitové operátory pracují na bitech a provádějí operace bit po bitu. | Logické operátory se používají k rozhodování na základě více podmínek. |
Motivy | |
Bitové operátory jsou &, |, ^, ~,.<> | Logické operátory jsou &&, ||, ! |
Shrnutí – Bitové vs. logické operátory
Při programování je nutné provádět matematické a logické operace. Lze jich dosáhnout pomocí operátorů. Existují různé typy operátorů. Tento článek pojednával o rozdílu mezi dvěma operátory, jako jsou bitové operátory a logické operátory. Rozdíl mezi bitovými a logickými operátory spočívá v tom, že bitové operátory pracují na bitech a provádějí operace bit po bitu, zatímco logické operátory se používají k rozhodování na základě více podmínek.
Stáhněte si PDF Bitwise vs Logical Operators
Verzi tohoto článku si můžete stáhnout ve formátu PDF a použít ji pro offline účely podle citace. Stáhněte si prosím PDF verzi zde: Rozdíl mezi bitovými a logickými operátory