Mierové operácie. Programovanie na C a C ++

Operácie na udržiavanie mieru sú operácie používané na vykonávanie manipulácií cez bitové šablóny alebo binárne čísla, ktoré zahŕňajú prácu s jednotlivými bitmi. Ide o rýchlu a jednoduchú operáciu priamo podporovanú procesorom, ktorá sa používa na riadenie hodnôt na porovnávanie a výpočty.

Základ výpočtovej techniky

Binárny digitálny systém používa iba dve číslice - 0 a 1. Počítače pracujú v binárnom formáte, čo znamená, že ukladajú dáta a vykonávajú výpočty len pomocou núl a jednotiek.



Hoci jedno binárne číslo môže byť použité na reprezentovanie pravdivých

(pravdivých) alebo falošných

(logických) logík, číslic. V skutočnosti môže byť ľubovoľné číslo zastúpené v binárnom formáte.

Aplikácia

Operátory bitrate sa používajú v nasledujúcich oblastiach:
  • Komunikačné sady, kde sú jednotlivé dáta v záhlaví pripojené k údajom, prenášajú dôležité informácie.
  • Zabudovaný softvér na ovládanie rôznych funkcií v čipu a indikujúci stav hardvéru riadením jednotlivých bitov hardvérových registrov vstavaných mikrokontrolérov.
  • Programovanie na nízkej úrovni pre aplikácie, ako sú ovládače zariadení, kryptografický softvér, softvér na dekódovanie videa, alokátory pamäte, softvér na kompresiu a grafiku.
  • Pohodlnévedenie veľkých množín celých čísel pri vyhľadávacích a optimalizačných úlohách.
  • Pivotné operácie vykonávané s príznakmi bitov, ktoré môžu zahŕňať inštanciu typu prenosu na uloženie akejkoľvek kombinácie hodnôt definovaných v zozname vymenovačov.
  • Mierové operácie - ako to funguje?

    Na rozdiel od bežných logických operátorov (napr. +, -, *), ktoré pracujú s bajtami alebo skupinami bajtov, môžu bitové operátory skontrolovať alebo inštalovať jednotlivé bity v bajtoch. Beat operácie nikdy nespôsobujú preplnenie v pamäťových bunkách, pretože výsledok získaný po operácii je v rozsahu možných hodnôt pre číselný typ.


    Beat operátory používané v jazyku C (C #, C a C ++):
  • OR (|) - výsledok je pravdivý, ak je jeden z operandov pravdivý.
  • AND (& amp;) - výsledok je pravdivý iba vtedy, ak sú oba operandy pravdivé. Môže sa použiť na konfiguráciu masky na overenie hodnôt určitých bitov.
  • XOR (^) - výsledok je pravdivý iba vtedy, ak je jeden z jeho operandov pravdivý. Používa sa hlavne na prepínanie určitých bitov. Pomáha tiež nahradiť dve premenné bez použitia tretej.
  • NOT (~) je bitový prídavok alebo inverzia. Poskytuje bitovú prílohu operandu inverziou jeho hodnoty, takže všetky nuly sú prevedené na jeden a všetky jednotky sú prevedené na nulu.
  • (pravý posuv) a (ľavý posun) - operátor, ktorý posúva bity v počte pozícií daných druhýmoperandom v pravom alebo ľavom smere. Ovládače Shift sa používajú na zarovnanie bitov.
  • Príklad práce

    Bitové operátory sú symboly reprezentujúce akcie, ktoré sa musia vykonať pre jednotlivé bity. Bitová operácia pôsobí na dvuhbytovыh vzoroch rovnakej dĺžky, polohy jednotlivých bitov: logické operácie A (& Co.), každý bit výsledky pár v 1 (true) v prípade, že prvý a druhý bit je 1. V opačnom prípade, výsledkom je nulový. Medzi inými aplikáciami môže byť AND použitá na kontrolu jednotlivých bitov v bitmapách, aby sa zistilo, či sú falošné alebo pravdivé. Pozrime sa bližšie na príklad: IsOdd = (ValueToTest & amp; 1)! = 0. Logická operácia OR (|) pre každú bitovú dvojicu vedie k 1, ak prvý alebo druhý bit je 1. Inak výsledok je nulový. Logická operácia XOR (~) pre každý bitový pár vedie k 1, ak sú dva bity rôzne a 0, ak sú rovnaké. Logický operátor nie je zastúpený ako ^. Ľavý posun (), pravý posun a pravý posun nuly (& gt;) sa niekedy označujú ako bitové operátory a nazývajú sa operátormi bitových ofsetov.
    Priradenie priorít
    Prioritné poradie (od najvyššieho k najnižšiemu) binárnych operátorov pri programovaní na C:
  • NOT;
  • Posuv vľavo vpravo);
  • A;
  • XOR;
  • ALEBO.
  • Tieto operandy sa používajú vo väčšine programovacích jazykov. Napríklad, pri písaní kódu javascript, bitové operácie sú rovnaké ako tie, ktoré sú uvedené vyššie. Je to spôsobené základnými matematickými základňami, na ktorých jeprogramový kód je založený. Najmä bitové operácie v jazyku Java sú zase úplne identické.

    Beat a programovanie v C a iných jazykoch

    Bit je najmenšia jednotka merania používaná na kvantifikáciu počítačových dát. Obsahuje jednu binárnu hodnotu 0 alebo 1.
    Hoci jeden bit môže určiť logickú hodnotu True

    alebo False

    , zriedka sa používa ako samostatná jednotka. Preto sú v bitovej pamäti počítača často zoskupené do 8-bitových klastrov, ktoré sa nazývajú bajty. Pretože bajt obsahuje osem bitov, z ktorých každá má dve možné hodnoty, binárne operácie v C (programovací jazyk) môžu mať jeden bajt 28 alebo 256 rôznych hodnôt.

    Pojmy "bity" a "bajty" sú často zamieňané a dokonca sa používajú ako vzájomne zameniteľné, pretože znejú rovnaké a obe sú zmenšené písmenom "B". Pri správnom písaní sa však bity zmenšujú na malé písmená "b" a bajty sa zmenšujú na veľké písmená - "B". Je dôležité, aby sa tieto dva výrazy nezmýlili, pretože každé meranie v bajtoch obsahuje osemnásobok počtu bitov. Napríklad malý textový súbor s veľkosťou 4 kB obsahuje 4000 bajtov alebo 32 000 bitov.
    Zvyčajne sa súbory, pamäťové zariadenia a pamäťová kapacita merajú v bajtoch a rýchlosti údajov sa merajú v bitoch. Napríklad pamäťová karta SSD môže mať kapacitu 240 GB, zatiaľ čo batožina môže byť prenášaná pri rýchlosti 10 Mb /s. Okrem toho sa bity tiež používajú na opis architektúry procesora, ako napríklad 32-bitový alebo 64-bitový procesor.

    Mierové operácie v Pascalu

    Príležitostná úroveň operácií v pascalu zahŕňa prácu s jednotlivými bitmi, ktoré sú najmenšími údajmi v počítači. Hoci sú počítače schopné manipulovať s bitmi, zvyčajne ukladajú dáta a vykonávajú inštrukcie v bitových viacnásobných hodnotách, ktoré sa nazývajú bajty. Väčšina programovacích jazykov, vrátane bitových operácií v Delphi, spravuje skupiny 816 alebo 32 bitov.

    Popis procesu

    Bitový operátor je symbol reprezentujúci akciu, ktorá pracuje s údajmi na úrovni bitov namiesto bajtov alebo veľkých dátových jednotiek, čo sa najčastejšie vyskytuje.
    Väčšina konvenčných operátorov pracuje s jedným alebo viacerými bajtami, ktoré vo väčšine systémov obsahujú osem bitov. Pretože poskytujú väčšiu presnosť a vyžadujú menej zdrojov, prevádzkovatelia bitových tokov môžu tento kód robiť rýchlejšie a efektívnejšie. Príklady bitových operácií zahŕňajú:
  • šifrovanie;
  • kompresia;
  • plán;
  • pripojenie k portom /zásuvkám;
  • programovanie vstavaných systémov;
  • stroje konečných stavov.Ručný operátor pracuje s binárnou reprezentáciou čísla a nie s jeho hodnotou. Operand sa považuje za súbor bitov a nie za jedno číslo. Bitové operátory sú podobné vo väčšine jazykov, ktoré ich podporujú - C, Java, javascript, Python a Visual Basic.

    Prečo je dôležité ju používať?

    Pri programovaní hardvérových registrov v zabudovaných systémoch sú absolútne nevyhnutné špičkové operácie. Každý procesor má jeden alebo viac registrov (obvykle špecifickú pamäťovú adresu), ktoré kontrolujú, či sú zapnuté aleboprerušiť alebo vypnúť. Ak chcete povoliť prerušenie spustenia bežného procesu, musíte nastaviť bit povolenia pre tento typ prerušenia, a čo je najdôležitejšie, nemeniť žiadne z ďalších bitov v registri.
    Keď sa spustí prerušenie, zvyčajne nastaví bit v štátnom registri, takže jeden servisný postup môže určiť presnú príčinu prerušenia. Testovanie jednotlivých bitov umožňuje rýchle dekódovanie zdroja prerušenia.
    V mnohých vstavaných systémoch môže byť celková dostupná pamäť RAM 64128 alebo 256 bajtov. V tomto prostredí sa jeden bajt zvyčajne používa na ukladanie viacerých dátových prvkov a booleovských príznakov a potom ich pomocou bitových operácií nastavuje a číta.

    Súvisiace publikácie