Skip to main content

Co jsou bitové operátory?

V počítačovém programu jsou operátoři bitových operátorů pro manipulaci s bitů ve výrazech.Bitwise a, nebo exkluzivní nebo (XOR), ne, pravý posun a levý posun jsou běžné operace.Většina počítačových programovacích jazyků zahrnuje všech šest z těchto operátorů.Často se používají pro nastavení, čištění nebo převrácení jednotlivých bitů v programech, které řídí počítačový hardware.Operátoři biřasů se také často používají v algoritmech šifrování a komprese dat.Používají se ve výrazech, stejně jako aritmetické operátoři, jako jsou Plus nebo mínus značky.Bitwise operátor a je zastoupen ampersand

, nebo s trubkou | a XOR s Caret ^.Ne, také známý jako operátor doplňků, je označen vlivem ~ . Pravá operátor směny používá dvojitý obálka směřující doprava

.Naproti tomu je posun vlevo indikován dvojitým bortem na levé látce .Java zahrnuje další operaci pravého posunu, zobrazená s pravým směrováním trojitého boje <<.Ne, pravý posun a směna vlevo mají pouze jeden pravý operand;Druhou hodnotou v operacích Shift je počet bitů.Abychom lépe porozuměli tomu, jak operátoři bitové práce fungují, může jednotlivec vizualizovat své operandy jako binární číslice.Například operátor doplňků převrátí každý kousek svého jednorázového operandu do opačného stavu.Jeden se stává nulou a nula se stává.Doplněk 8bitové binární hodnoty 00110101 je 11001010.

A a Operátor má dva operandy.Bit po kousku je logická a operace prováděna pomocí jednoho odpovídajícího bitů z každého operandu.Výsledek každé bitové operace je umístěn v této bitové poloze celkového výsledku.Například operátor AND AND bude zpracovávat BIT 7 z jednoho operandu s bitem 7 druhého operandu.Výsledek bude uložen v bitu 7 celkového výsledku.

V a operaci musí být oba operand bity, aby byl výsledek jeden, jinak je výsledek nulový.Například, pokud jsou 8bitové binární hodnoty operandů 00110101 a 11110000, bude výsledkem 00110000. Běžným používáním operátora AND je nulové určité bity ve výsledku.To se provádí umístěním nul do těchto bitových pozic do jednoho z operandů.Jinak je výsledkem jeden.Běžným používáním operátora OR je nastavit určité bity výsledku na ty.To se provádí umístěním do těchto bitových pozic do jednoho z operandů.Pro operaci XOR je výsledek nulový, pokud jsou oba operandové bity nulové nebo pokud jsou oba operandové bity jeden mdash; jinak je výsledkem jeden.bitových pozic.Logická pravá směna přesune nulu do levého nejzadnějšího bitů v rámci směny.Aritmetický pravý posun zkopíruje bit vlevo vlevo a znak bit a mdash; před posunem do stejné polohy po posunu.Původní bit je také posunut přímo spolu se zbytkem.Každý typ levé směny se pohybuje nulou do pravého bitu.Podobně, vlevo nejvíce před likvidací vlevo.Neobalí se na druhý konec operandu.Například v C a C ++

a

proveďte logické posuny, pokud je operand nepodepsaným celé číslo.Pokud je operand podepsaným celém číslem, je pravděpodobné, že místo toho bude provedeno aritmetický posun.V Javě jsou všechny operandy považovány za podepsané a aritmetické směny jsouvždy prováděno s a <<.Operátor se používá pro logický pravý posun, ale stále je možné náhodně provést aritmetický pravý posun místo toho bez pečlivého typu.Některé jsou nepodepsané.Bitwise operátory a numerické konstanty uprostřed komplexního výrazu nemusí být vyhodnoceny, jak se očekávalo.Je třeba věnovat pozornost určení velikosti a podepsané/nepodepsané povahy každého množství ve výrazu.To lze provést s pečlivým typem typu nebo prozatímní přiřazení ke konkrétním typům proměnných v programovém kódu.