Bitne operacije. Programiranje u C i C + +
Bitne operacije su operacije koje se koriste za izvođenje manipulacija na bitnim uzorcima ili binarnim brojevima, što uključuje rad s individualnim bitovima. Ova brza i jednostavna radnja, koju izravno podržava procesor, koristi se za kontrolu vrijednosti za usporedbe i izračune.
sadržaj
Osnova izračuna
Binarni digitalni sustav koristi samo dvije znamenke - 0 i 1. Računala rade u binarnom formatu, što znači da pohranjuju podatke i obavljaju izračune koristeći samo nula i one.
Iako se jedna logika može koristiti za prikaz True (1) (true) ili False (0) (false), možete upotrijebiti nekoliko binarnih brojeva za pohranu velikih brojeva i izvršavanje složenih funkcija. U stvari, bilo koji broj se može prikazati u binarnom obliku.
primjena
Bitni operatori koriste se u sljedećim područjima:
Komunikacijski stupovi gdje pojedinačni bitovi u zaglavlju pridruženi podacima sadrže važne informacije.
Ugrađeni softver za kontrolu raznih funkcija u čipu i pokazivanje stanja hardvera kontrolirajući pojedinačne bitove hardverskih registara ugrađenih mikrokontrolera.
Programiranje na niskoj razini za aplikacije poput upravljačkih programa uređaja, kriptografskog softvera, softvera za dekodiranje videa, alata za memoriju, kompresijskog softvera i grafike.
Zgodan upravljanje velikim skupovima cijelih brojeva u zadacima pretraživanja i optimizacije.
Bitne operacije izvedene s bitnim zastavama koje mogu uključiti instancu tipa enumeracije za pohranu bilo koje kombinacije vrijednosti definiranih popisom popisivača.
Bitne operacije - kako funkcionira?
Za razliku od konvencionalnih logičkih operatora (na primjer, +, -, *) koji rade s bajtovima ili skupinama bajtova, operateri u bitovima mogu provjeriti ili postaviti svaki od pojedinačnih bitova u bajtu. Bitne operacije nikada ne uzrokuju prelijevanje u memorijskim ćelijama, jer je rezultat dobiven nakon izvođenja operacije unutar raspona mogućih vrijednosti za numerički tip.
Bitstream operateri koji se koriste u C (C #, C i C + +) jezičnim jezicima:
ILI (|) - rezultat je istinit ako je neki od operandi istinit.
I () - rezultat je točan samo ako su oba operanda istinita. Može se koristiti za konfiguriranje maske za provjeru vrijednosti određenih bitova.
XOR (^) - rezultat je istinit samo ako je jedan od njegovih operanda istinit. Uglavnom se koristi za prebacivanje određenih bitova. Također pomaže zamijeniti dvije varijable bez korištenja treće.
NOT (~) je bitno komplement ili inverzija. Pruža dvostruko nadopunu operandu preokretanjem njegove vrijednosti, tako da su svi nula pretvoreni u one, a sve se jedinice pretvaraju u nula.
> (desno, Shift) i << (lijevo, Shift) je operator koji pomiče bitove na broj pozicija koje je odredio drugi operand u desnom ili lijevom smjeru. Operatori pomaka koriste se za izjednačavanje bitova.
Primjer posla
Bitni operatori su simboli koji predstavljaju akcije koje se izvode na pojedinačnim bitovima. Bitni rad djeluje na dvobreznim uzorcima iste duljine, postavljajući njihove pojedinačne bitove:
Logička operacija I () svakog para bitova dobiva 1 (istinito) ako su prvi i drugi bit jednaki 1. Inače, rezultat je nula. Među ostalim aplikacijama, AND se može koristiti za testiranje pojedinačnih bitova u nizu kako bi vidjeli jesu li lažni ili istiniti.
Razmotrimo više pojedinosti:
IsOdd = (ValueToTest 1)! = 0.
Logička operacija OR (|) svakog para bitova rezultira 1 ako prvi ili drugi bit je 1. Inače, rezultat je nula. Logička operacija XOR (~) svakog para bitova rezultira 1 ako su dva bita različita, a 0 ako su isti.
Logički operator NE predstavljen je kao ^. Lijevi pomak (<<), desni pomak (>) i desni pomak nulte punjenja (>>) ponekad se nazivaju operateri u bitovima i nazivaju se operaterima bitne smjene.
prioriteta
Redoslijed prioriteta (od najvišeg do najnižeg) u operacijama bitova pri programiranju u C:
NE;
desno, Shift i lijevo, Shift);
I;
XOR;
ILI.
Ovi operandi se koriste u većini programskih jezika. Na primjer, kada pišete kôd u jаvascript, operacija u bitnom će biti ista kao gore. To je uzrokovano osnovnim matematičkim temeljima na kojima se kôd temelji. Konkretno, bitne operacije u Java, zauzvrat, potpuno su identične jаvascriptu.
Bit 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 - 0 ili 1.
Iako jedan bit može odrediti logičku vrijednost True (1) ili False (0), rijetko se koristi kao zasebna jedinica. Stoga, u trgovini računalima, bitovi se često grupiraju u 8-bitne klastere, zvane bajtova. Budući da bajt sadrži osam bitova od kojih svaka ima dvije moguće vrijednosti, bitnim operacijama u C (programskom jeziku) jedan byte može imati 28 ili 256 različitih vrijednosti.
Pojmovi "bitovi" i "bajtovi" često se zbunjuju, pa čak i upotrebljavaju se naizmjenično, budući da zvuče isto i obje su skraćene slovom "B". Međutim, kada su ispravno napisane, bitovi su skraćeni u malom slučaju "b", a bajtovi su izrezani u velika slova - "B". Važno je ne miješati ova dva pojma, budući da svako mjerenje u bajtovima sadrži osam puta više bita. Na primjer, mala 4 KB tekstualna datoteka sadrži 4000 bajtova ili 32 000 bita.
Obično se datoteke, uređaji za pohranu i kapacitet pohrane mjere u bajtovima, a brzine prijenosa podataka se mjere u bita. Na primjer, SSD memorijska kartica može imati kapacitet od 240 GB, a opterećenje se može prenijeti na 10 Mbps. Osim toga, bitovi se također koriste za opisivanje arhitekture procesora, kao što je 32-bitni ili 64-bitni procesor.
Bitne operacije u pascalu
Razina operacija u Pascalu uključuje rad s pojedinačnim bita, što je najmanja jedinica podataka na računalu. Iako su računala sposobna manipulirati bitovima, obično pohranjuju podatke i izvršavaju instrukcije u bitnim višestrukim vrijednostima, nazvanim bajtovima. Većina programskih jezika, uključujući bitne operacije u Delphi, kontroliraju grupe od 8, 16 ili 32 bita.
Opis postupka
Operator bitova predstavlja simbol koji predstavlja radnju koja radi s podacima na razini bitova, a ne s bajtovima ili velikim podatkovnim jedinicama, jer je uobičajenija.
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 preciznost i zahtijevaju manje resursa, operatori bitova mogu brže i učinkovitije šifrirati. Primjeri korištenja bitnih operacija uključuju:
šifriranje;
kompresije;
grafika;
komunikacija na priključcima / utičnicama;
programiranje ugrađenih sustava;
strojevi s konačnim stanjem.
Operator bitova funkcionira s binarnim prikazom broja, a ne s njegovom vrijednošću. Operand se tretira kao skup bitova, a ne kao jedan broj. Bitstream operateri su slični na većini podržanih jezika - C, Java, jаvascript, Python i Visual Basic.
Zašto je važno koristiti?
Bitne operacije su apsolutno neophodne prilikom programiranja hardverskih registara u ugrađenim sustavima. Svaki procesor ima jedan ili više registara (obično određenu memorijsku adresu) koja nadzire uključivanje ili isključivanje prekida. Da biste dozvolili prekid za pokretanje uobičajenog postupka, potrebno je postaviti dopušteni bit za ovu vrstu prekida, a što je najvažnije, ne mijenjajte bilo koji drugi bit u registru.Kada se pokrene prekid, obično postavlja malo u registar stanja, tako da jedna servisna rutina može odrediti točan uzrok prekida. Testiranje pojedinačnih bitova omogućuje brzo dekodiranje izvora prekida.
U mnogim ugrađenim sustavima, ukupni raspoloživi RAM može biti 64, 128 ili 256 bajta. U ovom okruženju, jedan bajt obično se koristi za pohranjivanje više podatkovnih stavki i booleovskih zastava, a zatim se bitni operacije koriste za njihovo instaliranje i čitanje.
- Što je sustav binarnog broja?
- Kako se umnožiti u excelu
- Brojni sustav je ternarna tablica. Kako prevesti u ternarijski brojčani sustav
- Binarni kod. Vrste i duljina binarnog koda. Obrnut binarni kod
- Kako pretvoriti bajta do megabajta i natrag?
- Pojedinosti o tome kako pretvoriti bitove u bajtove
- Što je kodiranje i dekodiranje? Primjeri. Metode kodiranja i dekodiranja podataka numeričkih,…
- Zastupanje brojeva u računalu. Predstavljamo cijele brojeve i stvarne brojeve u memoriji računala
- Zašto je binarno kodiranje univerzalno? Programske metode
- Jedinica aritmetičke logike (ALU) - što je to?
- Programiranje: Java. Vrste podataka
- Što funkcionira SQL CONCAT?
- Binarni brojevi: sustav binarnog broja
- Koji su brojevi s pomičnim zarezima?
- Kako saznati kapacitet procesora
- Što se sastoji od procesora? Glavni dijelovi i njihove funkcije
- Informatika - sustav broja. Vrste numeričkih sustava
- Najpopularniji broj sustavi
- Kako mogu pronaći ostatak podjele u Pythonu?
- Binarni kodovi: recenzije, komentari, pitanja, odgovori
- PHP array_search: traži vrijednost u nizu