Mirovne operacije. Programiranje na C in C ++

Mirovne operacije so operacije, ki se uporabljajo za izvajanje manipulacij nad bitnimi predlogami ali binarnimi številkami, ki vključujejo delo s posameznimi bitovi. To je hiter, preprost postopek, ki ga procesor neposredno podpira, ki se uporablja za nadzor vrednosti za primerjave in izračune.

Osnova računalništva

Binarni digitalni sistem uporablja samo dve števki - 0 in 1. Računalniki delujejo v binarni obliki, kar pomeni, da shranjujejo podatke in izvajajo izračune samo z ničlami ​​in enotami.



Čeprav se lahko za predstavitev True

(resnične) ali False

(lie) logike uporabi eno binarno število, lahko uporabite več binarnih števil številke Pravzaprav je lahko vsako število predstavljeno v binarni obliki.

Uporaba

Operaterji bitov se uporabljajo na naslednjih področjih:
  • Komunikacijski paketi, kjer so posamezni bitovi v glavi pritrjeni na podatke, nosijo pomembne informacije.
  • Vgrajena programska oprema za nadzor različnih funkcij v čipu in prikaz stanja strojne opreme z nadzorovanjem posameznih bitov registra strojne opreme vgrajenih mikrokontrolerjev.
  • Programiranje na nizki ravni za aplikacije, kot so gonilniki naprav, kriptografska programska oprema, programska oprema za dekodiranje videa, naprave za razdeljevanje pomnilnikov, programska oprema za stiskanje in grafike.
  • Udobnoizvajanje velikih nizov celih števil v nalogah iskanja in optimizacije.
  • Glavne operacije, ki se izvajajo z bitnimi zastavami, ki lahko vključujejo primer tipa prenosa za shranjevanje katere koli kombinacije vrednosti, opredeljenih v seznamu števcev.
  • Operacije za ohranjanje miru - kako deluje?

    Za razliko od običajnih logičnih operaterjev (na primer +, -, *), ki delujejo z bajti ali skupinami bajtov, lahko bitni operatorji preverijo ali namestijo vsakega od posameznih bitov v bajtih. Beat operacije nikoli ne povzročajo prenatrpanosti v pomnilniških celicah, ker je rezultat, dobljen po operaciji, v območju možnih vrednosti za numerično vrsto.


    Operatorji utripov, ki se uporabljajo v jezikovni družini C (C #, C in C ++):
  • ALI (|) - rezultat je res, če je eden od operandov resničen.
  • AND (& amp; amp;) - rezultat je veljaven samo, če sta oba operanda resnična. Uporabite ga lahko za konfiguriranje maske za preverjanje vrednosti določenih bitov.
  • XOR (^) - rezultat je veljaven le, če je eden od njegovih operandov resničen. Uporablja se predvsem za preklapljanje določenih bitov. Pomaga tudi zamenjati dve spremenljivki brez uporabe tretje spremenljivke.
  • NOT (~) je bitni dodatek ali inverzija. Zagotavlja oštevilčen dodatek operandu tako, da obrne njegovo vrednost, tako da se vse ničle pretvorijo v eno in vse enote se pretvorijo v nič.
  • (Desni premik) in (levi premik) - operater, ki premakne bitove na število položajev, ki jih daje drugiv smeri desno ali levo. Za poravnavo bitov se uporabljajo operatorji preusmeritve.
  • Primer dela

    Bitni operatorji so simboli, ki predstavljajo dejanja, ki jih je treba izvesti za posamezne bitove. Bitna operacija deluje na dvojno-bitne vzorce enake dolžine, pozicionira njihove posamezne bitove: Logična operacija AND (&) za vsak par bitov vodi do 1 (res), če sta prvi in ​​drugi bit 1. Če ne, je rezultat nič. Med drugimi aplikacijami lahko uporabite AND za preverjanje posameznih bitov v bitni sliki, da vidite, ali so napačni ali resnični. Oglejmo si primer: IsOdd = (ValueToTest & amp; 1)! = 0. Logična operacija OR (|) za vsak par bitov vodi do 1, če je prvi ali drugi bit 1. V nasprotnem primeru je rezultat nič. Logična operacija XOR (~) za vsak par bitov vodi do 1, če sta dva bita različna in 0, če sta enaka. Logični operater NI predstavljen kot ^. Levi premik (), desni premik in desni ničelni odmik (& gt;) se včasih imenujejo bitni operatorji in se imenujejo operaterji z bitnim pomikom.

    Določanje prednostnih nalog

    Prednostni vrstni red (od najvišjega do najnižjega) binarnih operaterjev pri programiranju pri C:
  • NE;
  • Premik levega desnega premika);
  • IN;
  • XOR;
  • ALI.
  • Ti operandi se uporabljajo v večini programskih jezikov. Na primer, ko pišete kodo javascript, so bitne operacije enake kot zgoraj navedene. To je posledica osnovnih matematičnih podlag, na katerihprogramska koda. Še posebej so bitne operacije v Javi popolnoma identične javascript.

    Beat in programiranje v C in drugih jezikih

    Bit je najmanjša merska enota, ki se uporablja za kvantificiranje računalniških podatkov. Vsebuje eno binarno vrednost 0 ali 1.
    Čeprav lahko en bit določi logično vrednost True

    ali False

    , se le redko uporablja kot ločena enota. Zato so v računalniku biti shranjevanja pogosto združeni v 8-bitne skupine, ki se imenujejo bajti. Ker bajt vsebuje osem bitov, od katerih ima vsaka dve možni vrednosti, binarne operacije v C (programskem jeziku) lahko ima en bajt 28 ali 256 različnih vrednosti.

    Izraza "bitov" in "bajti" sta pogosto zmedena in se celo uporabljata kot medsebojna zamenjava, ker zvenita enako in oba sta zmanjšana za črko "B". Vendar, ko je pravilno napisano, so bitovi zmanjšani na male črke "b", bajti pa se zmanjšajo na velike črke - "B". Pomembno je, da teh dveh izrazov ne zamenjamo, saj vsaka meritev v bajtih vsebuje osemkratno število bitov. Na primer, majhna 4 KB datoteka vsebuje 4000 bajtov ali 32000 bitov.
    Datoteke, naprave za shranjevanje in zmogljivost shranjevanja se običajno merijo v bajtih, hitrosti prenosa podatkov pa v bitih. Na primer, pomnilniška kartica SSD ima lahko zmogljivost 240 GB, medtem ko je zagon mogoče prenašati s hitrostjo 10 Mb /s. Poleg tega se biti uporabljajo tudi za opis procesorske arhitekture, kot je 32-bitni ali 64-bitni procesor.

    mirovne operacije v Pascalu

    Običajna raven operacij v pascalu vključuje delo s posameznimi bitovi, ki so najmanjši kosi podatkov v računalniku. Čeprav so računalniki sposobni manipulirati bite, običajno shranjujejo podatke in izvajajo navodila v bitnih več vrednostih, ki se imenujejo bajti. Večina programskih jezikov, vključno s bitnimi operacijami v Delphiju, upravlja skupine po 816 ali 32 bitov.

    Opis procesa

    Bitni operator je simbol, ki predstavlja dejanje, ki deluje z bitnimi podatki, namesto z bajti ali velikimi podatkovnimi enotami, kot se najpogosteje srečuje.
    Večina običajnih operaterjev deluje z enim ali več bajti, ki v večini sistemov vsebujejo osem bitov. Ker zagotavljajo večjo natančnost in potrebujejo manj virov, lahko operaterji bitnega toka naredijo kodo hitrejšo in učinkovitejšo. Primeri bitnih operacij vključujejo:
  • šifriranje;
  • stiskanje;
  • razpored;
  • priključitev na vrata /vtičnice;
  • programiranje vgrajenih sistemov;
  • končni avtomati.
  • Ročni operater deluje z binarno predstavitvijo števila in ne z njegovo vrednostjo. Operand se obravnava kot niz bitov in ne kot ena številka. Operaterji bitov so podobni v večini jezikov, ki jih podpirajo - C, Java, javascript, Python in Visual Basic.

    Zakaj je pomembno, da se uporablja?

    Največje operacije so nujno potrebne pri programiranju registrov strojne opreme v vgrajenih sistemih. Vsak procesor ima enega ali več registrov (običajno poseben naslov pomnilnika), ki nadzorujejo, ali so omogočeni aliprekinite ali izklopite. Če želite prekinitvi izvesti običajen postopek, morate za to vrsto prekinitve nastaviti bit dovoljenj in, kar je najpomembneje, ne spreminjajte nobenega drugega bita v registru.
    Ko se sproži prekinitev, običajno nastavi bit v registru stanja, tako da lahko en servisni postopek določi točen vzrok prekinitve. Testiranje posameznih bitov omogoča hitro dekodiranje vira prekinitve.
    V mnogih vgrajenih sistemih je skupni razpoložljivi RAM lahko 64128 ali 256 bajtov. V tem okolju se en bajt ponavadi uporablja za shranjevanje več podatkovnih elementov in boolovskih zastav, nato pa za nastavitev in branje operacij z bitnimi podatki.

    Sorodne publikacije