Mirovne operacije. Programiranje na C i C ++

Mirovne operacije su operacije koje se koriste za izvršavanje manipulacija nad bitnim predlošcima ili binarnim brojevima koji uključuju rad s pojedinačnim bitovima. To je brza i jednostavna operacija koju izravno podržava procesor, a koristi se za kontrolu vrijednosti za usporedbe i izračune.

Osnova računalstva

Binarni digitalni sustav koristi samo dvije znamenke - 0 i 1. Računala rade u binarnom formatu, što znači da pohranjuju podatke i izvode izračune koristeći samo nule i jedinice.



Iako se jedan binarni broj može koristiti za predstavljanje True

(true) ili False

(lie) logike, možete koristiti nekoliko binarnih brojeva znamenki. U stvari, bilo koji broj može biti predstavljen u binarnom formatu.

Primjena

Operatori bitova koriste se u sljedećim područjima:
  • Komunikacijski stogovi, gdje su pojedinačni bitovi u zaglavlju pričvršćeni na podatke, nose važne informacije.
  • Ugrađeni softver za kontrolu različitih funkcija u čipu i ukazivanje na status hardvera kontroliranjem pojedinačnih bitova hardverskih registara ugrađenih mikrokontrolera.
  • Programiranje niske razine za aplikacije kao što su upravljački programi, kriptografski softver, softver za dekodiranje videozapisa, alati za raspodjelu memorije, softver za kompresiju i grafiku.
  • Udobnovođenje velikih skupova cijelih brojeva u zadacima pretraživanja i optimizacije.
  • Glavne operacije koje se izvode s oznakama bitova, koje mogu uključivati ​​instancu tipa prijenosa za pohranjivanje bilo koje kombinacije vrijednosti definiranih u popisu popisivača.
  • Mirovne operacije - kako to funkcionira?

    Za razliku od običnih logičkih operatora (na primjer, +, -, *) koji rade s bajtovima ili skupinama bajtova, bitni operatori mogu provjeriti ili instalirati svaki od pojedinačnih bitova u bajtovima. Beat operacije nikada ne uzrokuju pretrpanost u memorijskim stanicama, jer je rezultat dobiven nakon operacije unutar raspona mogućih vrijednosti za numerički tip.


    Operatori otkucaja koji se koriste u C jezicima (C #, C i C ++):
  • ILI (|) - rezultat je istinit ako je jedan od operanada istinit.
  • AND (& amp;) - rezultat je istinit samo ako su oba operanda točna. Može se koristiti za konfiguriranje maske za provjeru vrijednosti određenih bitova.
  • XOR (^) - rezultat je istinit samo ako je jedan od njegovih operanada istinit. Koristi se uglavnom za prebacivanje određenih bitova. Također pomaže zamijeniti dvije varijable bez upotrebe treće.
  • NOT (~) je bitovski dodatak ili inverzija. Osigurava bitni dodatak operandu tako što preokreće njegovu vrijednost, tako da su sve nule konvertirane u jednu, a sve jedinice se pretvaraju u nulu.
  • (pomak desno) i (pomak lijevo) - operater koji pomiče bitove u broju položaja koje daje drugiu pravom ili lijevom smjeru. Operatori pomaka koriste se za poravnavanje bitova.
  • Primjer rada

    Bitni operatori su simboli koji predstavljaju radnje koje se moraju izvesti za pojedinačne bitove. Bitna operacija radi na dvostruko-bitnim uzorcima iste duljine, pozicionirajući njihove pojedinačne bitove: AND (& amp;) logička operacija za svaki par bitova dovodi do 1 (true) ako su prvi i drugi bitovi 1. U suprotnom, rezultat je nula. Između ostalih aplikacija, AND se može koristiti za provjeru pojedinačnih bitova u bitmapi kako bi se vidjelo jesu li lažne ili istinite. Pogledajmo pobliže primjer: IsOdd = (ValueToTest & amp; 1)! = 0. Logička operacija OR (|) za svaki par bitova dovodi do 1 ako je prvi ili drugi bit 1. U suprotnom, rezultat je nula. Logička operacija XOR (~) za svaki par bitova vodi do 1 ako su dva bita različita i 0 ako su isti. Logički operator NE predstavljen kao ^. Lijevi pomak (), desni pomak i desni nulti pomak (& gt;) ponekad se nazivaju bitni operatori i nazivaju se bitni offset operatori.

    Prioritizacija

    Redoslijed prioriteta (od najvišeg do najnižeg) binarnih operatora u programiranju na C:
  • NE;
  • Pomicanje lijevog-desnog pomaka);
  • I;
  • XOR;
  • ILI. Ovi se operandi koriste u većini programskih jezika. Na primjer, prilikom pisanja javascript koda, bitne operacije su iste kao i gore navedene. To je zbog temeljnih matematičkih osnova na kojimaprogramski kod. Konkretno, bitovske operacije u Javi zauzvrat su potpuno identični javascript.

    Beat i programiranje u C i drugim jezicima

    Bit je najmanja mjerna jedinica koja se koristi za kvantificiranje računalnih podataka. Sadrži jednu binarnu vrijednost od 0 ili 1.
    Iako jedan bit može odrediti logičku vrijednost True

    ili False

    , rijetko se koristi kao zasebna jedinica. Stoga su u računalu pohranjeni bitovi često grupirani u 8-bitne klastere, koji se nazivaju bajtovi. Budući da bajt sadrži osam bitova, od kojih svaki ima dvije moguće vrijednosti, binarne operacije u C (programskom jeziku) jedan bajt može imati 28 ili 256 različitih vrijednosti.

    Izrazi "bita" i "bajtovi" često su zbunjeni i čak se koriste kao zamjenjivi jer zvuče jednako i oboje su smanjeni slovom "B". Međutim, kada su ispravno napisani, bitovi se reduciraju na mala slova "b", a bajtovi se svodi na velika slova - "B". Važno je ne brkati ova dva pojma jer svako mjerenje u bajtima sadrži osam puta veći broj bitova. Na primjer, mala tekstualna datoteka od 4 KB sadrži 4000 bajta ili 32000 bita.
    Obično se datoteke, uređaji za pohranu i kapacitet pohrane mjere u bajtovima, a brzine prijenosa podataka mjere se u bitovima. Na primjer, SSD memorijska kartica može imati kapacitet od 240 GB, dok se boot može nositi na 10 Mbps. Osim toga, bitovi se također koriste za opis arhitekture procesora, kao što je 32-bitni ili 64-bitni procesor.

    mirovne operacije u Pascalu

    Povremena razina operacija u paskalu uključuje rad s pojedinačnim bitovima, koji su najmanji dijelovi podataka na računalu. Iako su računala sposobna manipulirati bitovima, oni obično pohranjuju podatke i izvršavaju upute u bitovnim višestrukim vrijednostima, koje se zovu bajtovi. Većina programskih jezika, uključujući bitovske operacije u Delphiju, upravlja skupinama od 816 ili 32 bita.

    Opis procesa

    Operator bitova je simbol koji predstavlja radnju koja radi s podacima na razini bita, a ne bajtovima ili velikim jedinicama podataka, kao što se najčešće susreće.
    Većina konvencionalnih operatora radi s jednim ili više bajtova, koji u većini sustava sadrže osam bitova. Budući da pružaju veću točnost i zahtijevaju manje resursa, bitstream operatori mogu napraviti kod brži i učinkovitiji. Primjeri bitnih operacija uključuju:
  • enkripciju;
  • kompresija;
  • raspored;
  • povezivanje s priključcima /utičnicama;
  • programiranje ugrađenih sustava;
  • Strojevi s konačnim stanjem. Ručni operater radi s binarnim prikazom broja, a ne s njegovom vrijednošću. Operand se tretira kao skup bitova, a ne kao jedan broj. Bitrate operatori su slični u većini jezika koji ih podržavaju - C, Java, javascript, Python i Visual Basic.

    Zašto je važno koristiti ga?

    Pik operacije su apsolutno potrebne pri programiranju hardverskih registri u ugrađenim sustavima. Svaki procesor ima jedan ili više registara (obično određenu memorijsku adresu) koji kontroliraju jesu li omogućeni iliprekinuti ili isključiti. Da biste omogućili prekidu pokretanje normalnog procesa, morate podesiti bit dopuštenja za ovu vrstu prekida, i što je najvažnije, ne mijenjajte nijedan drugi bit u registru.
    Kada se aktivira prekid, on obično postavlja bit u registar stanja, tako da jedan servisni postupak može odrediti točan uzrok prekida. Testiranje pojedinih bitova omogućuje brzo dekodiranje izvora prekida.
    U mnogim ugrađenim sustavima, ukupni raspoloživi RAM može biti 64128 ili 256 bajta. U ovom okruženju, jedan bajt se obično koristi za pohranjivanje više elemenata podataka i booleovih zastavica, a zatim pomoću operacija bita za njihovo postavljanje i čitanje.
  • Povezane publikacije