Gdje se koristi binarni decimalni sustav? Predstavljanje brojeva u binarnom kodu. Pretvaranje brojeva: iz binarnih u decimalne

Binarni decimalni brojevni sustav. Decimalne znamenke od 0 do 9 zamijenjene su binarnim tetradama koje ih predstavljaju: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 i 9= 1001. Ovaj zapis se vrlo često koristi kao međukorak u pretvaranju broja iz decimalnog sustava u binarni ili obrnuto. Budući da 10 nije točna potencija broja 2, ne koristi se svih 16 tetrada, a algoritmi za aritmetičke operacije s višeznamenkastim brojevima složeniji su nego u osnovnim brojevnim sustavima. Pa ipak, binarni decimalni brojevni sustav se čak i na ovoj razini koristi u mnogim mikrokalkulatorima i nekim računalima (osobito Yamaha MSX).

Budući da su reprezentacija i aritmetika u decimalnom brojevnom sustavu najpoznatija ljudima, a binarna reprezentacija i binarna aritmetika najviše poznate računalima, uveden je kompromisni sustav binarno-decimalnog zapisa brojeva. Ovaj sustav se najčešće koristi tamo gdje postoji potreba za čestim korištenjem procedure decimalnog ulaza/izlaza. (elektronički satovi, kalkulatori, brojevi pozivatelja itd.). U takvim uređajima nije uvijek preporučljivo osigurati univerzalni mikrokod za pretvaranje binarnih brojeva u decimalne brojeve i obrnuto zbog male količine programske memorije.

Princip ovog sustava je prilično jednostavan: svaka decimalna znamenka pretvara se izravno u svoj 4-bitni decimalni ekvivalent, na primjer: 369110=0011 0110 1001 0001DEC:

Decimalno 3 6 9 1 BCD 0011 0110 1001 0001

Pretvorimo binarni decimalni broj 1000 0000 0111 0010 u njegov decimalni ekvivalent. Svaka skupina od 4 bita pretvara se u svoj decimalni ekvivalent. Dobivamo 1000 0000 0111 0010DEC = 807210:

BCD 1000 0000 0111 0010 Decimalno 8 0 7 2

Mikroprocesori koriste čiste binarne brojeve, ali također razumiju naredbe BCD pretvorbe. Rezultirajući binarni decimalni brojevi lako se prikazuju u decimalnom zapisu, što je ljudima razumljivije.

Pretvaranje binarnih brojeva u BCD

Aritmetičko-logička jedinica AVR mikrokontrolera (kao i drugih mikroprocesora) izvodi elementarne aritmetičke i logičke operacije nad brojevima predstavljenim u binarnom kodu. Rezultati ADC pretvorbe se čitaju u binarnom kodu; pogodno je obraditi rezultate mjerenja u binarnom kodu (u formatu cijelih brojeva ili brojeva s pomičnim zarezom). Međutim, kada se konačni rezultat prikaže na indikatoru, mora se pretvoriti u decimalni format čitljiv ljudima.

Ovaj odjeljak govori o programima za pretvaranje binarnih brojeva u BCD.

1. Formati za predstavljanje decimalnih brojeva

Trenutno postoje dva uobičajena formata za predstavljanje decimalnih brojeva u mikroprocesorima - upakirani binarno kodirani decimalni (BCD-Binary-Coded Decimal) i neupakirani decimalni kod.

Upakirani BCD kod je reprezentacija decimalnog broja gdje je svaka decimalna znamenka predstavljena 4-bitnim binarnim položajnim kodom 8-4-2-1. U ovom slučaju bajt sadrži dvije decimalne znamenke. Najmanja decimalna znamenka zauzima desnu tetradu (bitovi 3:0), najveća decimalna znamenka zauzima lijevu tetradu (bitovi 7:4). Višebitni BCD brojevi zauzimaju nekoliko uzastopnih bajtova. Ako je broj predznačen, tada se najznačajnija tetrada najvažnijeg bajta dodjeljuje za predstavljanje predznaka u BCD formatu. Šest uzoraka binarnog koda može se koristiti za kodiranje znaka, koji se ne koriste za predstavljanje decimalnih znamenki. Ovo su šifre 1010-1111 (A-F u heksadecimalnom). Obično se kod 1100 (C) koristi za kodiranje znaka plus, a 1101 (D) za znak minus.

Nepakirani decimalni kod podskup je međunarodne tablice za kodiranje ASCII znakova (Tablica 1). Može se vidjeti da pohranjivanje nepakiranih decimalnih brojeva zahtijeva dvostruko više memorije, budući da je svaka znamenka predstavljena 8-bitnim kodom. Tablica 1: ASCII kodovi za decimalne znamenke

2. Pretvorite 16-bitne cijele brojeve u BCD brojeve

www.atmel.com nudi program "bin2bcd16" za pretvaranje 16-bitnih binarnih cijelih brojeva u upakirane BCD brojeve. U ovom se članku govori o programu "bin16bcd5" (vidi Dodatak, Program 1), koji je napisao A.V. Tereshkin prema algoritmu navedenom u, i koji obavlja isti zadatak. Potonji program pokazao se učinkovitijim od prvog u pogledu brzine, duljine koda i broja korištenih registara.

Algoritam programa "bin16bcd5" je sljedeći. Pretpostavimo da imamo 16-bitni cijeli broj bez predznaka (raspon od 0 do 65535). Očito, trebate pronaći 5 decimalnih znamenki. Metoda pretvorbe je oduzimanje 10 000 od izvornog broja i prvo određivanje decimalne znamenke desetaka tisuća. Zatim se tisućica nalazi uzastopnim oduzimanjem broja 1000 itd. Oduzimanje se provodi svaki put dok se brojenjem broja oduzimanja ne dobije negativna razlika. Pri prelasku na određivanje svakog sljedećeg decimalnog mjesta u registrima izvornog broja vraća se zadnja pozitivna razlika. Nakon što se pronađe decimalna znamenka desetica, decimalna znamenka jedinica ostat će u originalnim registrima brojeva.

Program "bin16ASCII5" (vidi Dodatak, Program 2) pretvara 16-bitni binarni cijeli broj u neupakirani decimalni broj. Koristi se isti algoritam.

3. Pretvorite binarni razlomak u BCD

Binarni razlomak, po definiciji, predstavljen je sljedećim izrazom:

0.A-1A-2 ... A-m = A-1*2-1 + A-2*2-2 + ... A-m*2-m

Iz ovog prikaza slijedi algoritam transformacije (slika 2), koji sadrži m koraka. U svakom koraku, sljedeća binarna znamenka dodaje se binarno-decimalnom rezultatu i cijeli se rezultat dijeli s 2.

Prikazan je binarni registar koji sadrži izvorni binarni razlomak i BCD pakirani registar rezultata. Radi preglednosti, oba registra također pokazuju znamenku jedinica i položaj točke, koji ni na koji način nisu predstavljeni u memoriji mikroprocesora, ali čiji je položaj uvijek strogo određen. Broj ciklusa algoritma koji se razmatra jednak je broju bitova binarnog razlomka. Bitna veličina binarnog decimalnog registra određena je potrebnom točnošću izračuna.

Dodavanje ove znamenke BCD broju znači da se ona mora smjestiti u jediničnu znamenku BCD broja, odakle će se naknadnim dijeljenjem s dva znamenka A-i pomaknuti na najznačajniju znamenku najvažnije tetrade decimalnog razlomka. . Prilikom programiranja, mjesto decimalne jedinice možemo zamisliti kao C prijenosni bit.

Kod dijeljenja upakiranog binarnog broja s dva, kao i kod dijeljenja binarnog broja, on se pomiče udesno za jedno mjesto. U ovom slučaju svaka tetrada, odnosno svaka decimalna znamenka, dijeli se s dva. Kod dijeljenja parne decimalne znamenke na odgovarajućem mjestu ponovno se dobiva decimalna znamenka i nije potrebno ispravljanje. Kada se neparna decimalna znamenka dijeli s 2, ostatak od 5 mora se dodati donjem decimalnom mjestu, ali zapravo binarni pomak dodaje broj 8 (težina najznačajnije tetradne znamenke) donjoj tetradi. Stoga je potrebna korekcija rezultata koja se sastoji u oduzimanju broja 3 od sadržaja onih bilježnica koje nakon pomaka udesno imaju postavljene najznačajnije znamenke.

4. Pretvaranje brojeva s pomičnim zarezom u BCD brojeve

Predstavljanje brojeva s pomičnim zarezom je kako slijedi:

gdje je M binarna mantisa broja, P je binarni red broja.

Ovaj se prikaz često koristi u decimalnom brojevnom sustavu za predstavljanje vrlo velikih ili vrlo malih brojeva. Mantisa i eksponent su cijeli brojevi s predznakom. Znak mantise je znak cijelog broja. Redoslijed pokazuje pravi položaj točke umjesto onog koji zauzima na slici mantise. Binarni broj s pomičnim zarezom razlikuje se od decimalnog na koji smo navikli po tome što je točka binarna, odnosno redoslijed označava broj binarnih (a ne decimalnih) znamenki za koje se ta točka mora pomaknuti ulijevo ili udesno.

Normalizirani prikaz broja s pomičnim zarezom je prikaz u kojem je mantisa pravilan razlomak, a njegova vodeća znamenka je različita od nule. Ali za binarni broj, zahtjev da je vodeća znamenka različita od nule znači da je ta znamenka jednaka 1. Ako je vodeća znamenka točno poznata, tada se ne mora pohranjivati ​​u memoriju.

Pojam mješovitog brojevnog sustava

Među brojevnim sustavima postoji klasa tzv mješoviti brojevni sustavi.

Definicija 1

Mješoviti ovo se zove notacija, u kojem su brojevi navedeni u određenom brojevnom sustavu s bazom $P$ predstavljeni znamenkama drugog brojevnog sustava s bazom $Q$, gdje je $Q

Štoviše, u takvom brojevnom sustavu, kako bi se izbjegle razlike u prikazu svake znamenke sustava s bazom $P$, dodjeljuje se isti broj znamenki sustava s bazom $Q$, dovoljan za predstavljanje bilo kojeg znamenka sustava s bazom $P$.

Primjer mješovitog brojevnog sustava je binarno-decimalni sustav.

Praktično obrazloženje korištenja binarnog decimalnog brojevnog sustava

Budući da osoba široko koristi decimalni brojevni sustav u svojoj praksi, a računalo obično radi s binarnim brojevima i binarnom aritmetikom, u praksu je uvedena kompromisna opcija - binarni decimalni notacijski sustav, koji se obično koristi tamo gdje postoji potreba za čestim korištenjem procedure decimalnog ulaza/izlaza (na primjer, elektronički satovi, kalkulatori itd.). U takvim uređajima nije uvijek preporučljivo koristiti univerzalni mikrokod za pretvaranje binarnih brojeva u decimalne i obrnuto zbog male količine programske memorije.

Napomena 1

U nekim vrstama računala, aritmetičko-logičke jedinice (ALU) sadrže posebne decimalne aritmetičke jedinice koje izvode operacije s brojevima predstavljenim u binarnom decimalnom kodu. To u nekim slučajevima omogućuje značajno povećanje performansi računala.

Na primjer, automatizirani sustav obrade podataka koristi veliki broj brojeva, ali ne izvodi mnogo izračuna. U tom bi slučaju operacije prijenosa brojeva iz jednog sustava u drugi značajno premašile vrijeme potrebno za obavljanje operacija obrade informacija. Mikroprocesori, s druge strane, koriste čiste binarne brojeve, ali također razumiju naredbe za pretvaranje u binarni decimalni zapis. ALU AVR mikrokontrolera (kao i drugih mikroprocesora) izvodi elementarne aritmetičke i logičke operacije nad brojevima predstavljenim u binarnom kodu, naime:

    čita rezultate ADC pretvorbe;

    u formatu cijelog broja ili pomičnog zareza, obrađuje rezultate mjerenja.

Međutim, konačni rezultat prikazan je na indikatoru u decimalnom formatu koji je pogodan za ljudsku percepciju.

Načela konstruiranja binarno-decimalnog brojevnog sustava

Prilikom konstruiranja binarno-decimalnog brojevnog sustava, $4$ binarne znamenke se dodjeljuju za predstavljanje svake decimalne znamenke, budući da je najveća decimalna znamenka $9$ kodirana kao $10012$.

Na primjer: $925_(10) = 1001 0010 0101_(2-10)$.

Slika 1.

U ovoj notaciji, uzastopne četvorke binarnih znamenki predstavljaju znamenke $9$, $2$ i $5$ decimalne notacije.

Da bi se broj zapisao u binarno-decimalnom brojevnom sustavu, on prvo mora biti predstavljen u decimalnom sustavu, a zatim svaka decimalna znamenka uključena u broj mora biti predstavljena u binarnom sustavu. U isto vrijeme, različiti brojevi binarnih znamenki su potrebni za pisanje različitih decimalnih znamenki u binarnom brojevnom sustavu. Kako bi se izbjegla upotreba bilo kakvih graničnika, kada se decimalna znamenka predstavlja u binarnom obliku, uvijek se pišu 4 binarne znamenke. Skupina od te četiri znamenke naziva se bilježnica.

Iako BCD zapis koristi samo znamenke $0$ i $1$, razlikuje se od binarnog prikaza danog broja jer je decimalni ekvivalent binarnog broja nekoliko puta veći od decimalnog ekvivalenta BCD broja.

Na primjer:

$1001 0010 0101_{(2)} = 2341_{(10)}$,

$1001 0010 0101_{(2)} = 925_{(2-10)}$.

Ovaj zapis se često koristi kao međukorak pri pretvorbi broja iz decimalnog sustava u binarni i obrnuto. Budući da broj $10$ nije točna potencija broja $2$, ne koriste se sve tetrade od $16$ (tetrade koje predstavljaju brojeve od $A$ do $F$ se odbacuju, jer se ti brojevi smatraju zabranjenima), ali algoritmi za aritmetičku operacije nad višeznamenkastim brojevima u ovom slučaju, složenije nego u osnovnim brojevnim sustavima. Pa ipak, binarni decimalni brojevni sustav koristi se čak i na ovoj razini u mnogim mikrokalkulatorima i nekim računalima.

Za ispravljanje rezultata aritmetičkih operacija nad brojevima predstavljenim u binarnom decimalnom kodu, mikroprocesorska tehnologija koristi naredbe koje pretvaraju rezultate operacija u binarni decimalni brojevni sustav. Koristi se sljedeće pravilo: kada se kao rezultat operacije (zbrajanja ili oduzimanja) u tetradi dobije broj veći od $9$, toj se tetradi dodaje broj $6$.

Na primjer: $75+18=$93.

$10001101\(8D)$

U niskoj bilježnici pojavila se zabranjena znamenka $D$. Dodajte $6$ niskoj tetradi i dobit ćete:

$10010011 \ (93)$

Kao što vidite, unatoč činjenici da je zbrajanje provedeno u binarnom brojevnom sustavu, rezultat operacije dobiven je u binarno-decimalnom brojevnom sustavu.

Napomena 2

Balansiranje po bitovima često se provodi na temelju binarni decimalni brojevni sustav. Najprikladnija je uporaba binarnih i binarno-decimalnih brojevnih sustava, jer je u tom slučaju broj ciklusa uravnoteženja najmanji među ostalim brojevnim sustavima. Imajte na umu da nam upotreba binarnog koda omogućuje smanjenje vremena obrade kompenzacijskog napona za približno $20\%$ u usporedbi s binarnim decimalnim kodom.

Prednosti korištenja binarnog decimalnog brojevnog sustava

Pretvaranje brojeva iz decimalnog sustava u binarno-decimalni brojevni sustav ne uključuje izračune i lako se provodi pomoću jednostavnih elektroničkih sklopova, budući da se pretvara mali broj (4) binarnih znamenki. Obrnuta pretvorba događa se automatski u računalu pomoću posebnog programa za prevođenje.

Korištenje binarno-decimalnog brojevnog sustava u kombinaciji s jednim od glavnih brojčanih sustava (binarni) omogućuje razvoj i stvaranje računala visokih performansi, budući da upotreba decimalnog aritmetičkog bloka u ALU eliminira potrebu za programiranom pretvorbom brojeva iz jednog brojevnog sustava u drugi pri rješavanju zadataka.

Budući da dvije binarne decimalne znamenke čine $1$ bajt, koji se može koristiti za predstavljanje vrijednosti brojeva od $0$ do $99$, a ne od $0$ do $255$, kao kod $8$-bitnog binarnog broja, tada koristeći $1$ bajt za Pretvaranjem svake dvije decimalne znamenke, možete oblikovati BCD brojeve s bilo kojim željenim brojem decimalnih mjesta.

Primjer mješovitog brojevnog sustava je binarni decimalni sustav . U BCD sustavu brojeva, 4 binarne znamenke dodijeljene su svakoj decimalnoj znamenki, budući da je najveća decimalna znamenka 9 kodirana kao 1001 2. Na primjer,

925 10 = 1001 0010 0101 2-10 .

Ovdje uzastopne četvorke (tetrade) binarnih znamenki predstavljaju znamenke 9, 2 i 5 decimalnog zapisa.

Iako BCD zapis koristi samo znamenke 0 i 1, BCD zapis se razlikuje od binarnog prikaza danog broja. Na primjer, binarni kod 1001 0010 0101 odgovara decimalnom broju 2341, a ne 925.

Ako je P=Q l (l je pozitivan cijeli broj), reprezentacija bilo kojeg broja u mješovitom brojevnom sustavu identično se podudara sa slikom tog broja u brojevnom sustavu s bazom Q. Primjeri takvog mješovitog brojevnog sustava su binarni- oktalni i binarno-heksadecimalni.

Na primjer,

A2 16 = 1010 0010 2 = 1010 0010 2-16

PREDSTAVLJANJE NEGATIVNIH BROJEVA U FORMATU FIKSNE TOČKE (TOČKE)

Kako bi se pojednostavile aritmetičke operacije, računala koriste posebne binarne kodove za predstavljanje negativnih brojeva: recipročnih i komplementnih. Pomoću ovih kodova pojednostavljeno je odrediti predznak rezultata operacije tijekom algebarskog zbrajanja. Operacija oduzimanja (ili algebarskog zbrajanja) svodi se na aritmetičko zbrajanje operanda, što olakšava razvoj znakova prelijevanja bitne mreže. Kao rezultat toga, računalni uređaji koji izvode aritmetičke operacije su pojednostavljeni.

Poznato je da je jedan od načina izvođenja operacije oduzimanja taj da se predznak oduzetika zamijeni suprotnim znakom i doda umanjeniku:

A - B = A + (- B)

Ovo zamjenjuje operaciju aritmetičkog oduzimanja operacijom algebarskog zbrajanja, koja se može izvesti pomoću binarnih zbrajala.

Za strojno predstavljanje negativnih brojeva koriste se kodovi izravno, dodatno, obrnuto. Pojednostavljena definicija ovih kodova može se dati na sljedeći način. Ako je broj A u običnom binarnom kodu direktno binarni kod, prikazan kao

[A] pr = 0.an an-1 an-2.....a1 a0,

tada je broj -A u istom kodu predstavljen kao

[-A]pr = 1.an an-1 an-2.....a1 a0,

i u obrnuti(inverzni) kod ovaj broj će izgledati ovako:

[-A]rev = 1.an an-1 an-2.....a1 a0,

ai = 1 ako je ai = 0,

ai = 0, ako je ai = 1,

a kužim ja-ta znamenka binarnog broja. Posljedično, pri prelasku s izravnog koda na obrnuti kod, sve znamenke bitova Matisseovog broja su obrnute.

Zatim broj -A in dodatni kod je predstavljen kao

[-A]add = [-A]rev + 1

Dakle, da biste dobili komplementarni kod negativnih brojeva, prvo morate obrnuti digitalni dio izvornog broja, što rezultira njegovim obrnutim kodom, a zatim dodati jedan najmanje značajnoj znamenki digitalnog dijela broja.

Komplementarni kod određenog broja dobiva se zamjenom s novim brojem, komplementarni na broj jednak težini znamenke koja slijedi iza najznačajnije znamenke bitne mreže koja se koristi za predstavljanje mantise broja u formatu fiksne točke. Stoga se takav brojčani kod naziva dodatnim.

Zamislimo da imamo samo dvije znamenke za predstavljanje brojeva u decimalnom brojevnom sustavu. Tada će najveći broj koji se može prikazati biti 99, a težina treće nepostojeće najveće znamenke bit će 10 2, tj. 100. U ovom slučaju, za broj 20, komplementarni broj će biti 80, što komplementira 20 sa 100 (100 - 20 = 80). Dakle, po definiciji, oduzimanje

može se zamijeniti dodavanjem:

Ovdje najviša jedinica prelazi dodijeljenu mrežu bitova, u kojoj ostaje samo broj 30, tj. Rezultat oduzimanja broja 20 od 50.

Sada pogledajmo sličan primjer za brojeve predstavljene u 4-bitnom binarnom kodu. Pronađimo dodatni broj za 0010 2 = 210. Trebamo oduzeti 0010 od 0000, dobivamo 1110, što je dodatni kod 2. Znamenka prikazana u uglatim zagradama zapravo ne postoji. Ali budući da imamo 4-bitnu mrežu, u osnovi je nemoguće izvesti takvo oduzimanje, a još više pokušavamo se riješiti oduzimanja. Stoga se dodatni brojčani kod dobiva na prethodno opisani način, tj. prvo dobiju obrnuti kod broja, a zatim mu dodaju 1. Nakon što smo sve ovo napravili s našim brojem (2), nije teško vidjeti da će se dobiti sličan odgovor.

Istaknimo to Komplement dvojke i kodovi komplementa dvojke koriste se samo za predstavljanje negativnih binarnih brojeva u obliku fiksne točke. Pozitivni brojevi u ovim kodovima ne mijenjaju svoju sliku i predstavljaju se kao u izravnom kodu.

Dakle, digitalne znamenke negativnog broja u izravni kod ostaju nepromijenjeni, a jedan je upisan u znakovnom dijelu.

Pogledajmo jednostavne primjere.

Sedam u izravnom kodu predstavljeno je na sljedeći način:

pr = 0,0001112

Broj -7 u izravnom kodu:

[-7] pr = 1,0001112,

a u obrnutom kodu to će izgledati

[-7]okret = 1,1110002,

oni. jedinice se zamjenjuju nulama, a nule jedinicama. Isti broj u komplementu dva bio bi:

[-7]zbroj = 1,1110012.

Razmotrimo još jednom kako se postupak oduzimanja, koristeći reprezentaciju subtrahenda u kodu komplementa dva, svodi na postupak zbrajanja. Oduzmite broj 7 od 10: 10 - 7 = 3. Ako su oba operanda predstavljena u izravnom kodu, tada se postupak oduzimanja izvodi na sljedeći način:

-1.000111

A ako je subtrahendable, t.j. -7, prikazan u komplementarnom kodu dvojke, tada se postupak oduzimanja svodi na postupak zbrajanja:

+ 1.111001

1 0.000011 = 310.

U današnje vrijeme računala obično koriste kod komplementa dvojke za predstavljanje negativnih brojeva u formatu fiksne točke.

Oblik prikaza brojeva u digitalnim strojevima je skup pravila koji omogućuju uspostavljanje međusobne korespondencije između zapisa broja i njegovog kvantitativnog ekvivalenta.

Strojna (automatska) slika broja to je prikaz broja u bitnoj mreži digitalnog stroja. Simbol za strojnu sliku broja, na primjer, A, bit će predstavljen kao [A].

Zbog ograničene duljine strojnih riječi, skup brojeva koji se mogu prikazati u stroju je konačan. Usporedbe između različitih oblika prikaza brojeva u računalima obično se rade na temelju procjene raspon i točnost prikaza brojeva.

U svakodnevnoj praksi najčešći oblik predstavljanja brojeva je niz znamenki odvojenih zarezom na cijeli i razlomački dio. Brojevi predstavljeni u ovom obliku nazivaju se brojevima s prirodnim zarezom ili brojevima u prirodnom obliku. U prirodnom obliku broj se piše u prirodnom obliku, na primjer 12560 je cijeli broj, 0,003572 je pravi razlomak, 4,89760 je nepravi razlomak.

Kod predstavljanja brojeva u ovom obliku, potrebno je da svaki broj označi položaj svog zareza u mreži bitova dodijeljenih za predstavljanje broja u stroju, što zahtijeva dodatne hardverske troškove u prilično velikom iznosu. Stoga su dva druga oblika reprezentacije postala široko rasprostranjena u računalima: s fiksnom i pokretnom točkom (točka).

Nema potrebe za označavanjem položaja zareza ako je mjesto zareza u bitnoj mreži stroja unaprijed određeno jednom zauvijek. Ovaj oblik prikazivanja brojeva naziva se prikazivanje sa fiksni zarez (točka).

Budući da brojevi mogu biti pozitivni i negativni, format (bitna mreža) slike stroja podijeljen je na ikonski dio I brojčano polje. Brojčano polje sadrži sliku samog broja, koju ćemo konvencionalno nazvati kazaljka brojevima. Za kodiranje predznaka broja koristi se najznačajnija znamenka bitne mreže rezervirana za sliku binarnog broja, a preostale znamenke se dodjeljuju za mantisu broja. Položaj zareza u bitnoj mreži je strogo fiksan, obično ili desno od najniže znamenke mantise, ili lijevo od najviše. U prvom slučaju, broj je predstavljen kao cijeli broj, u drugom - kao pravi razlomak. Danas velika većina računala predstavlja cijele brojeve u formatu fiksne točke.

Predznakovni dio sadrži podatke o predznaku broja. Prihvaćeno je da znak pozitivan broj "+" predstavljen simbolom 0, a predznak je negativan broj "-" predstavljen simbolom 1.

Na primjer, u binarnom kodu, korištenjem 6-bitne mreže, broj 7 u obliku fiksne točke može se predstaviti kao:

gdje je znamenka lijevo od točke znak broja, a pet znamenki desno od točke su mantisa broja u izravnom kodu. Ovdje se misli na to zarez je fiksiran s desne strane najmanje značajne znamenke, a točka na slici broja u ovom slučaju jednostavno odvaja bit predznaka od mantise broja.

U budućnosti će se ova vrsta reprezentacije broja u strojnom obliku često koristiti u primjerima. Možete koristiti drugi oblik predstavljanja broja u strojnom obliku:

gdje je bit predznaka odvojen uglatim zagradama.

Broj znamenki u bitskoj mreži dodijeljenih za predstavljanje mantise broja određuje raspon i točnost prikaza broja s fiksnom točkom. Najveći binarni broj u apsolutnoj vrijednosti predstavljen je jedinicama u svim znamenkama, isključujući znak jedan, tj. za cijeli broj

|A|max = (2 (n -1) - 1),

Gdje n- ukupna duljina bitne mreže. U slučaju 16-bitne mreže

|A| max = (2 (16-1) - 1) = 32767 10,

oni. Raspon prikaza cijelog broja u ovom slučaju bit će od +3276710 do -3276710.

Za slučaj kada je zarez fiksiran desno od niže znamenke mantise, tj. za cijele brojeve, brojeve čiji je modul veći od

(2(n-1) - 1) i manje od jedan nisu predstavljeni u obliku fiksne točke. Brojevi čija je apsolutna vrijednost manja od jedne od najmanje značajnih znamenki bitne mreže nazivaju se u ovom slučaju strojnom nulom. Negativna nula je zabranjena.

U nekim slučajevima, kada je moguće raditi samo s modulima brojeva, cijela mreža bitova, uključujući bit najveće važnosti, dodjeljuje se za predstavljanje broja, što omogućuje proširenje raspona prikaza brojeva.

Binarni decimalni brojevni sustav

Binarni decimalni brojevni sustav postao je raširen u modernim računalima zbog jednostavnosti pretvorbe u decimalni sustav i obrnuto. Koristi se tamo gdje se glavna pažnja ne posvećuje jednostavnosti tehničke konstrukcije stroja, već praktičnosti korisnika. U ovom brojevnom sustavu sve su decimalne znamenke zasebno kodirane s četiri binarne znamenke iu tom se obliku pišu jedna za drugom.

Binarni decimalni sustav nije ekonomičan sa stajališta provedbe tehničke konstrukcije stroja (potrebna oprema se povećava za oko 20%), ali je vrlo pogodan pri pripremi zadataka i programiranju. U binarnom decimalnom brojevnom sustavu baza brojevnog sustava je broj 10, ali je svaka decimalna znamenka (0, 1, ..., 9) predstavljena, odnosno kodirana, binarnim znamenkama. Četiri binarne znamenke koriste se za predstavljanje jedne decimalne znamenke. Ovdje, naravno, postoji redundantnost, budući da 4 binarne znamenke (ili binarna tetrada) mogu predstavljati ne 10, već 16 brojeva, ali to je već proizvodni trošak radi praktičnosti programiranja. Postoji niz binarno kodiranih decimalnih sustava za predstavljanje brojeva, karakterizirani time da se određenim kombinacijama nula i jedinica unutar jedne tetrade dodjeljuju određene vrijednosti decimalnih znamenki.
Objavljeno na ref.rf
U najčešće korištenom prirodnom binarno kodiranom decimalnom brojevnom sustavu, težine binarnih znamenki unutar tetrade su prirodne, to jest 8, 4, 2, 1 (tablica 6).

Tablica 6

Binarni decimalni zapis

Na primjer, decimalni broj 5673 u BCD zapisu je 01010110011100011.

Pretvaranje brojeva iz jednog brojevnog sustava u drugi važan je dio strojne aritmetike. Razmotrimo osnovna pravila prevođenja.

1. Za pretvorbu binarnog broja u decimalni broj potrebno je ᴇᴦο zapisati kao polinom koji se sastoji od umnoška znamenki broja i odgovarajuće potencije 2, te izračunati prema pravilima decimalne aritmetike˸

Prilikom prevođenja zgodno je koristiti tablicu potencija dva˸

Tablica 7.

Moći broja 2

n (stupanj)

Primjer. Pretvorite broj u decimalni brojevni sustav.

2. Za pretvaranje oktalnog broja u decimalni broj potrebno je ᴇᴦο zapisati kao polinom koji se sastoji od umnoška znamenki broja i odgovarajuće potencije broja 8, te izračunati prema pravilima decimalne aritmetike˸

Prilikom prevođenja zgodno je koristiti tablicu potencija od osam˸

Tablica 8.

Moći broja 8

n (stupanj)
8 n

Binarni decimalni brojevni sustav - pojam i vrste. Klasifikacija i značajke kategorije "Binarno-dekadski brojevni sustav" 2015., 2017.-2018.

Ovaj sustav ima bazu S = 10, ali je svaka znamenka predstavljena četverobitnim binarnim brojem koji se naziva tetrada. Obično se ovaj sustav brojeva koristi u računalima prilikom unosa i ispisa informacija. Međutim, u nekim vrstama računala, ALU sadrži posebne decimalne aritmetičke blokove koji izvode operacije s brojevima u binarnom decimalnom kodu. To u nekim slučajevima omogućuje značajno povećanje performansi računala.

Na primjer, u sustavu automatizirane obrade podataka postoji mnogo brojeva, ali malo izračuna. U tom bi slučaju operacije povezane s prijenosom brojeva iz jednog sustava u drugi značajno premašile vrijeme potrebno za obavljanje operacija obrade informacija.

Pretvaranje brojeva iz decimalnog sustava u BCD vrlo je jednostavno i sastoji se od zamjene svake znamenke binarnom tetradom.

Primjer.

Zapišite decimalni broj 572,38 (10) u binarni decimalni brojevni sustav.

Obrnuti prijevod također je jednostavan: potrebno je podijeliti binarno-decimalni broj na tetrade od točke lijevo (za cijeli dio) i desno (za razlomački dio), dodati potreban broj beznačajnih nula i zatim zapišite svaku tetradu kao decimalnu znamenku.

Primjer.

Zapišite binarni decimalni broj 10010,010101 (2-10) u decimalni brojevni sustav.

Pretvorba brojeva iz BCD u binarni sustav provodi se prema gore opisanim općim pravilima.

2.3. Oktalni brojevni sustav

U oktalnom brojevnom sustavu koristi se samo osam znamenki, tj. ovaj brojevni sustav ima bazu S = 8. Općenito, oktalni broj izgleda ovako:

Gdje
.

Oktalni brojevni sustav nije potreban računalu, za razliku od binarnog sustava. Pogodan je kao kompaktan oblik pisanja brojeva i koriste ga programeri (na primjer, u programskim tekstovima za sažetiji i praktičniji način pisanja binarnih kodova naredbi, adresa i operanda). U oktalnom brojevnom sustavu, težina svake znamenke je višekratnik osam ili jedne osmine, tako da osmobitni binarni broj omogućuje izražavanje decimalnih vrijednosti u rasponu 0-255, a oktalni broj pokriva raspon 0 -99999999 (za binarni to je 27 znamenki).

Budući da je 8=2 3, svaki oktalni znak može se predstaviti kao trobitni binarni broj. Da biste pretvorili broj iz binarnog brojevnog sustava u oktalni brojevni sustav, trebate taj broj lijevo (za cijeli dio) i desno (za razlomak) od točke (zareza) podijeliti u grupe od po tri znamenke (trijade) i svaku skupinu predstavljaju brojem u oktalnom brojevnom sustavu. Ekstremne nepotpune trijade dopunjuju se potrebnim brojem beznačajnih nula.

Primjer.

Napiši binarni broj 10101011111101 (2) u oktalnom brojevnom sustavu.

Primjer.

Napiši binarni broj 1011,0101 (2) u oktalnom brojevnom sustavu.

Pretvorba iz oktalnog u binarni broj provodi se predstavljanjem svake znamenke oktalnog broja kao troznamenkastog binarnog broja (trijada).

2.4. Heksadekadski brojevni sustav

Ovaj brojevni sustav ima bazu S = 16. Općenito, heksadecimalni broj izgleda ovako:

Gdje
.

Heksadecimalni brojevni sustav omogućuje još kraće zapisivanje višebitnih binarnih brojeva i uz to skraćivanje zapisa 4-bitnog binarnog broja, tj. grickati, jer je 16=2 4 . Heksadecimalni sustav također se koristi u programskim tekstovima za sažetije i praktičnije bilježenje binarnih brojeva.

Da biste pretvorili broj iz binarnog brojevnog sustava u heksadecimalni, morate ovaj broj lijevo i desno od točke podijeliti na tetrade i svaku tetradu predstaviti znamenkom u heksadecimalnom brojevnom sustavu.

Primjer.

Napišite binarni broj 10101011111101 (2) u heksadecimalnom obliku.

Primjer.

Napišite binarni broj 11101,01111 (2) u heksadecimalnom obliku.

Za pretvorbu broja iz heksadecimalnog brojevnog sustava u binarni brojevni sustav potrebno je, naprotiv, svaku znamenku ovog broja zamijeniti tetradom.

Zaključno, treba napomenuti da se prijenos proizvoljnih brojeva iz jednog brojevnog sustava u drugi može izvršiti prema općim pravilima opisanim u odjeljku "Binarni brojevni sustav". Međutim, u praksi se pretvorbe brojeva iz decimalnog sustava u razmatrane brojevne sustave i obrnuto provode kroz binarni brojevni sustav.

Također zapamtite da su heksadecimalni i oktalni brojevi samo način predstavljanja velikih binarnih brojeva s kojima procesor zapravo radi. U ovom slučaju preferira se heksadecimalni sustav, jer u modernim računalima procesori manipuliraju riječima duljine 4, 8, 16, 32 ili 64 bita, tj. duljina riječi je višekratnik broja 4. U oktalnom brojevnom sustavu preferiraju se riječi koje su višekratnici 3 bita, na primjer, riječi duljine 12 bita (kao u PDP-8 iz DEC-a).