nisfarm.ru

Bitové operace. Programování v C a C ++

Bitové operace jsou operace používané k provádění manipulací na bitových vzorcích nebo binárních číslech, které zahrnují práci s jednotlivými bitmi. Tato rychlá, jednoduchá akce, přímo podporovaná procesorem, slouží k ovládání hodnot porovnání a výpočtů.

Základ výpočtů

Binární digitální systém používá pouze dvě číslice - 0 a 1. Počítače pracují v binárním formátu, což znamená, že ukládají data a provádějí výpočty pouze pomocí nul a nuly.bitové operace

Ačkoli jedna binární číslice může být použita k reprezentování True (1) (true) nebo False (0) (false) v logice, můžete použít několik binárních číslic pro ukládání velkých čísel a provádění složitých funkcí. Ve skutečnosti může být libovolné číslo zobrazeno v binárním formátu.

Aplikace

Bitové operátory se používají v následujících oblastech:

  • Sestavy komunikace, kde jednotlivé bity v hlavičce připojené k datům přenášejí důležité informace.

  • Vestavěný software pro ovládání různých funkcí v čipu a určení stavu hardwaru pomocí řízení jednotlivých bitů hardwarových registrů vestavěných mikrokontrolérů.

  • Programování na nízké úrovni pro aplikace, jako jsou ovladače zařízení, kryptografický software, software pro dekódování videa, alokátory paměti, kompresní software a grafiku.

  • Pohodlná správa velkých množin celých čísel při hledání a optimalizaci.

  • Bitové operace prováděné s příznaky bitů, které mohou obsahovat instanci typu výčtu pro ukládání jakékoliv kombinace hodnot definovaných v seznamu výčtu.

c programování

Bitové operace - jak to funguje?

Na rozdíl od konvenčních logických operátorů (například +, -, *), které pracují s bajty nebo skupinami bajtů, bitové operátory mohou zkontrolovat nebo nastavit jednotlivé bity v bajtu. Bitové operace nikdy nespouštějí přetečení v paměťových buňkách, protože výsledek získaný po provedení operace je v rozsahu možných hodnot pro číselný typ.

Bitové operátory používané v jazycích C (C #, C a C ++):




  • OR (|) - výsledek je true, pokud je některý z operandů pravdivý.

  • AND () - výsledek je správný pouze tehdy, jsou-li oba operandy pravdivé. Může být použit pro konfiguraci masky pro kontrolu hodnot určitých bitů.

  • XOR (^) - výsledek je pravdivý pouze tehdy, když je jeden z jeho operandů true. Používá se hlavně k přepínání určitých bitů. Pomáhá také nahradit dvě proměnné bez použití třetího.

  • NOT (~) je bitový doplněk nebo inverze. Poskytuje bitový doplněk k operandu změnou jeho hodnoty tak, aby všechny nuly byly převedeny na ty, a všechny jednotky jsou převedeny na nuly.

  • > (vpravo; Shift) a << (vlevo; Shift) je operátor, který posune bity na počet pozic určených druhým operandem v pravém nebo levém směru. Operátory posunu se používají k vyrovnání bitů.

bitové operace v si

Příklad práce

Bitové operátory jsou symboly reprezentující akce, které mají být provedeny na jednotlivých bitech. Bitová operace pracuje s dvoubitovými vzory stejné délky a jejich jednotlivé bity se nastavují takto:

Logická operace AND () každé bitové dvojice vede k 1 (true), pokud první a druhý bit jsou rovny 1. V opačném případě je výsledek nula. Mezi další aplikace lze AND použít k testování jednotlivých bitů v bitovém řetězci, aby zjistili, zda jsou nepravdivé nebo pravdivé.

Podívejme se podrobněji na příklad:

IsOdd = (ValueToTest 1)! = 0.

Logická operace OR (|) každé dvojice bitů vede k 1, pokud je první nebo druhý bit 1. V opačném případě je výsledek nula. Logická operace XOR (~) každé dvojice bitů vede k 1, pokud jsou dva bity odlišné a 0 pokud jsou stejné.

Logický operátor NOT je reprezentován jako ^. Levý posun (<<), pravý posun (>) a pravý posun nulové výplně (>>) jsou někdy označovány jako bitové operátory a nazývají se operátory bitového posunu.bitové operace v java

Stanovení priorit

Prioritní pořadí (od nejvyšší k nejnižší) u bitových operátorů při programování v C:

  • NE;

  • doprava, Shift a doleva, Shift);

  • AND;

  • XOR;

  • NEBO.

Tyto operandy se používají ve většině programovacích jazyků. Například při psaní kódu v jаvascriptu bude bitová operace stejná jako výše. To je způsobeno základními matematickými základy, na kterých je kód založen. Konkrétně jsou bitové operace v jazyce Java zcela totožné s jаvascript.

Bit a programování v C a dalších jazycích

Bit je nejmenší měrná jednotka používaná pro kvantifikaci počítačových dat. Obsahuje jednu binární hodnotu - 0 nebo 1.
Přestože jeden bit může určit logickou hodnotu True (1) nebo False (0), je zřídka používán jako samostatná jednotka. Proto v obchodě s počítači jsou bity často seskupovány do 8bitových clusterů nazývaných bajty. Protože byte obsahuje osm bitů, z nichž každá má dvě možné hodnoty, v bitových operacích v jazyce C (programovací jazyk) jeden byte může mít 28 nebo 256 různých hodnot.bitové operace jаvascript
Pojmy "bity" a "bajty" jsou často zaměňovány a dokonce se používají zaměnitelně, jelikož to zní stejně a oba jsou zkráceny písmenem "B". Při správném psaní jsou však bity zkráceny malým písmenem "b" a bity jsou rozřezány velkými písmeny - "B". Je důležité, aby tyto dva výrazy nebyly zaměněny, jelikož jakékoli měření v bajtech obsahuje osmkrát více bitů. Například malý textový soubor o velikosti 4 KB obsahuje 4 000 bajtů nebo 32 000 bitů.

Obvykle jsou soubory, úložná zařízení a kapacita paměti měřeny v bajtech a datové rychlosti jsou měřeny v bitech. Například paměťová karta SSD může mít kapacitu 240 GB, zatímco zatížení lze přenášet rychlostí 10 Mb / s. Kromě toho se bity také používají k popisu architektury procesoru, například 32bitového nebo 64bitového procesoru.

Bitové operace v pascalu

Úroveň bitů v operacích Pascal zahrnuje práci s jednotlivými bity, které jsou nejmenšími jednotkami dat v počítači. Přestože jsou počítače schopny manipulovat s bity, většinou ukládají data a provádějí pokyny v bitových násobných hodnotách, nazývaných bajty. Většina programovacích jazyků, včetně bitových operací v Delphi, řídí skupiny 8, 16 nebo 32 bitů.

Popis procesu

Bitový operátor je symbol představující akci, která pracuje s daty na úrovni bitů, nikoliv s byty nebo velkými datovými jednotkami, protože je častější.bitové operace v pascalu

Většina běžných operátorů pracuje s jedním nebo více bajty, které ve většině systémů obsahují osm bitů. Protože poskytují více přesnosti a vyžadují méně zdrojů, bitové operátory mohou kód rychleji a efektivněji. Příklady použití bitových operací zahrnují:

  • šifrování;

  • komprese;

  • grafika;

  • komunikace na přístavech / zásuvkách;

  • programování vestavěných systémů;

  • stroje s konečným stavem.

Bitový operátor pracuje s binárním znázorněním čísla, ne jeho hodnoty. Operand se považuje za sadu bitů, nikoliv za jedno číslo. Bitové operátory jsou podobné ve většině podpůrných jazyků - C, Java, jаvascript, Python a Visual Basic.

Proč je důležité používat?

Bitové operace jsou naprosto nezbytné při programování hardwarových registrů ve vestavěných systémech. Každý procesor má jeden nebo více registrů (obvykle specifická adresa paměti), které monitorují, zda je přerušení zapnuto nebo vypnuto. Chcete-li povolit přerušení spuštění normálního procesu, je třeba nastavit bit oprávnění pro tento typ přerušení, a co je nejdůležitější, neměňte žádný z ostatních bitů v registru.delphi bitových operacíKdyž je spuštěno přerušení, typicky nastavuje bit v registru stavu, takže jeden servisní rutina může určit přesnou příčinu přerušení. Testování jednotlivých bitů umožňuje rychle dekódovat zdroj přerušení.
V mnoha vestavěných systémech může být celková dostupná paměť RAM 64, 128 nebo 256 bajtů. V tomto prostředí se obvykle používá jeden bajt pro ukládání více datových položek a booleovských příznaků a bitové operace se používají k jejich instalaci a čtení.

Sdílet na sociálních sítích:

Podobné
© 2021 nisfarm.ru