Skip to main content

Mik a Bitwise operátorok?

Egy számítógépes programban a Bitwise operátorok a bitminták kifejezésekben történő manipulálására szolgáló szolgáltatók.Bitwise és, vagy, exkluzív vagy (XOR), nem a jobb váltás és a bal oldali eltolódás gyakori műveletek.A legtöbb számítógépes programozási nyelv mind a hat operátorral rendelkezik.Ezeket gyakran használják az egyes bitek beállítására, törlésére vagy megfordítására a számítógépes hardver vezérlő programokban.A Bitwise operátorokat gyakran használják az adatok titkosításában és a tömörítési algoritmusokban is.Ezeket kifejezésekben használják, ugyanúgy, mint a számtani operátorok, mint például a plusz vagy a mínusz jelek.A bitwise operátor, és az ampersand

-vel, vagy a és xor csővel ábrázolja ^.Nem, más néven komplement -operátor, Tilde ~ jelöli.

A jobb oldali műszak operátor egy dupla karét használja, amely a jobbra mutat

.Ezzel szemben a bal oldali eltolódást egy bal oldali dupla karét jelzi .A Java tartalmaz egy újabb jobb műszaki műveletet, amelyet egy jobbra mutató hármas karettel ábrázolnak, <<

Bitwise operátorok logikai műveletet alkalmaznak az operandusok minden egyes párjára.Nem, a jobb váltásnak és a bal oldali váltásnak csak egy igazi operanduma van;A műszaki műveletek második értéke a bitszám.Annak érdekében, hogy jobban megértsük, hogy a bitWise operátorok hogyan működnek, az egyén bináris számként láthatja el operandumait.Például a komplement operátor az egyetlen operandus minden egyes részét az ellenkező állapotba fordítja.Az egyik nullává válik, és a nulla egy lesz.A 00110101 8 bites bináris érték kiegészítése 11001010.Bitek szerint egy logikai és működést hajtunk végre az egyes operandusok egy megfelelő bitjével.Az egyes BIT -műveletek eredményét a teljes eredmény bit helyzetébe helyezik.Például az operátor feldolgozza az egyik operandus 7. bitjét a másik operandus 7. bitjével.Az eredményt a teljes eredmény 7. bitjében tárolják.

Egy és működésben mindkét operandus bitnek olyannak kell lennie, hogy az eredmény egy legyen, különben az eredmény nulla.Például, ha az operandusok 8 bites bináris értékei 00110101 és 11110000, akkor az eredmény 00110000 lesz. A és az operátor általában az, hogy az eredményben meghatározott biteket nulla.Ezt úgy végezzük, hogy nullákat helyeznek az egyik bitpozícióba az egyik operandusba.Ellenkező esetben az eredmény egy.Az OR operátor általánosan használható, hogy az eredmény bizonyos bitjeit beállítsa.Ezt úgy végezzük, hogy ezeket az egyik operandusba helyezik az egyik bitpozícióba.Az XOR műveletnél az eredmény nulla, ha mindkét operandus bit nulla, vagy ha mindkét operandus bit egy és mdash; egyébként az eredmény egy.bitpozíciók.A logikus jobb váltás nulla a baloldali részbe mozgatja a műszak részét.Egy aritmetikai jobb műszak másolja a bal oldali bitet mdash; a jel bit és mdash; a műszak után ugyanabba a helyzetbe való áttérés előtt.Az eredeti bit a többivel együtt is eltolódik.A bal oldali műszak bármelyik típusa nulla mozgatja a jobb oldali bitbe.Hasonlóképpen, a bal oldali bal oldali elmozdulás előtt megsemmisül.Nem tekercsel az operandus másik végére.Például a C és C ++,

és

logikai műszakban hajtsa végre, ha az operandus alá nem írt egész szám.Ha az operandus aláírt egész szám, akkor valószínű, hogy ehelyett aritmetikai eltolódást hajtanak végre.A Java -ban az összes operandust aláírtnak tekintik, és a számtani váltásokMindig és << segítségével végeznek.A operátort logikus jobb műszakhoz használják, de még mindig lehetséges, hogy véletlenül végezzen egy aritmetikai jobb műszakot gondos tipasztás nélkül.

A komplikációk akkor is felmerülhetnekNéhányan aláíratlanok.A komplex kifejezés közepén lévő bit -operátorokat és numerikus állandókat nem lehet a várt módon értékelni.Vigyázni kell az egyes mennyiségek méretének és aláírt/alá nem írt jellegének meghatározására a kifejezésben.Ez megtehető gondos typecasting vagy ideiglenes hozzárendelésekkel a programkódban szereplő konkrét változó típusokhoz.