Binært system

Det binære systemet , også kalt det dyadiske [ 1 ] systemet i informatikk , er et tallsystem der tall er representert med kun to tall : 0 ( null ) og 1 ( en ). Det er et av systemene som brukes i datamaskiner , fordi de fungerer internt med to spenningsnivåer , der deres naturlige nummereringssystem er det binære systemet. [ 2 ]

Historien om det binære systemet

Den gamle indiske matematikeren Pingala presenterte den første kjente beskrivelsen av et binært tallsystem i det tredje århundre f.Kr., som falt sammen med hans oppdagelse av konseptet med tallet null.

I det gamle Kina, i den klassiske teksten til I Ching , beskrives en komplett serie på 8 trigram og 64 heksagrammer (analogt med 3 - bit ) og 6-bits binære tall. Lignende serier med binære kombinasjoner har også blitt brukt i tradisjonelle afrikanske spådomssystemer, som Ifa , så vel som i vestlig middelaldersk geomancy .

Den kinesiske lærde og filosofen Shao Yong på 1000-tallet utviklet et ordnet binært arrangement av I Ching- heksagrammene , som representerer desimalsekvensen fra 0 til 63, og en metode for å generere det samme.

I 1605 snakket Francis Bacon om et system der bokstavene i alfabetet kunne reduseres til sekvenser av binære sifre, som deretter kunne kodes som knapt synlige variasjoner på fonten til enhver vilkårlig tekst.

I 1670 utgir Juan Caramuel sin bok Mathesis Biceps; og på sidene XLV til XLVIII gir han en beskrivelse av det binære systemet.

Det moderne binære systemet ble fullstendig dokumentert av Leibniz på 1700-tallet i hans artikkel " Explanation de l'Arithmétique Binaire ". Den nevner de binære symbolene som brukes av kinesiske matematikere. Leibniz brukte et matematisk system av to variabler - 0/1 - for å transformere språklige termer og på denne måten distribuere informasjon, akkurat som det nåværende binære systemet [ 3 ] .

I 1854 publiserte den britiske matematikeren George Boole en artikkel som markerte et før og etter, med detaljer om et logikksystem som ville ende opp med å bli kalt boolsk algebra . Et slikt system vil spille en grunnleggende rolle i utviklingen av det nåværende binære systemet, spesielt i utviklingen av elektroniske kretser.

Applikasjoner

I 1937 fullførte Claude Shannon sin doktorgradsavhandling ved MIT , der han implementerte boolsk algebra og binær aritmetikk ved hjelp av releer og brytere for første gang i historien. Med tittelen A Symbolic Analysis of Switching and Relay Circuits , grunnla Shannons avhandling i utgangspunktet praktisk digital kretsdesign.

I november 1937 bygde George Stibitz , som da jobbet ved Bell Laboratories , en relébasert kalkulator - som han ga kallenavnet "Model K " (fordi han bygde den på et kjøkken ) - som brukte den binære summen til å utføre beregningene. Bell Laboratories autoriserte et fullstendig forskningsprogram på slutten av 1939, med Stibitz ved roret.

8. januar 1940 fullførte de utformingen av en "Complex Number Calculator", som var i stand til å utføre beregninger med komplekse tall . I en demonstrasjon på American Mathematical Society - konferansen , 11. september 1940, klarte Stibitz å eksternt sende kommandoer til Complex Number Calculator over telefonlinjen ved hjelp av en fjernskriver . Det var den første datamaskinen som ble brukt eksternt gjennom telefonlinjen. Noen konferansedeltakere som var vitne til demonstrasjonen inkluderte John von Neumann , John Mauchly og Norbert Wiener , som skrev om hendelsen i sine forskjellige typer memoarer der han oppnådde forskjellige prestasjoner.

Se også: Binær kode

Representasjon

I det binære systemet trengs bare to sifre.

Ved databehandling kan et binært tall representeres av en hvilken som helst sekvens av biter (binære sifre), som typisk representerer enhver mekanisme som er i stand til å bruke to gjensidig utelukkende tilstander. Følgende symbolsekvenser kan tolkes som den samme binære numeriske verdien:

1 0 1 0 0 1 1 0 1 1
¦ ¦ ¦ ¦ ¦ ¦
x enten x enten enten x x enten x x
Y n Y n n Y Y n Y Y

Den numeriske verdien representert i hvert tilfelle avhenger av verdien som er tildelt hvert symbol. På en datamaskin kan de numeriske verdiene representere to forskjellige spenninger; de kan også indikere magnetiske polariteter på en magnetisk disk. En "positiv", "ja" eller "på tilstand" er ikke nødvendigvis ekvivalent med den numeriske verdien av en; dette avhenger av nomenklaturen som brukes.

I følge den vanligste representasjonen, som bruker arabiske tall, skrives binære tall vanligvis ved å bruke symbolene 0 og 1. Binære tall skrives ofte med abonnenter, prefikser eller suffikser for å indikere grunntallet. Følgende notasjoner er likeverdige:

Konvertering mellom binær og desimal

Desimal til binær

Tallet på desimalsystemet deles på 2 , hvis hele resultatet deles igjen med 2 , og så videre til utbyttet er mindre enn divisoren, 2. Det vil si at når tallet som skal deles er 1, avsluttes divisjonen.
Deretter sorteres de fra den siste kvotienten til den første resten, de plasseres ganske enkelt i omvendt rekkefølge av hvordan de vises i divisjonen. Dette vil være det binære tallet vi ser etter.

Eksempel Konverter desimaltallet 131 til binært. Metoden er veldig enkel: 131 delt på 2 gir 65 med resten lik 1 65 delt på 2 gir 32 med resten lik 1 32 delt på 2 gir 16 med resten lik 0 16 delt på 2 gir 8 med resten lik 0 8 delt på 2 gir 4 med resten lik 0 4 delt på 2 gir 2 med resten lik 0 2 delt på 2 gir 1 med resten lik 0 siste kvotient er 1

-> Vi bestiller restene, fra sist til første: 10000011 I binært system skrives 131 10000011.

Eksempel Konverter desimaltallet 100 til binært.

En annen form for konvertering innebærer en metode som ligner på faktorisering i primtall . Det er relativt enkelt å dele et hvilket som helst tall med 2. Denne metoden består også av suksessive divisjoner. Avhengig av om tallet er partall eller oddetall, vil vi plassere en null eller en ener i høyre kolonne. Hvis det er oddetall, trekker vi en og fortsetter å dele med to, til det ikke lenger er mulig og tallet 1 er plassert. Da må vi bare ta det siste resultatet fra venstre kolonne og alle de fra høyre kolonne og bestille sifrene fra bunn til topp.

Eksempel 100|0 50|0 25|1 --> 1, 25-1=24 og vi fortsetter å dele med 2 12|0 6|0 3|1 1|1 -->

Eksempel [ 4 ]

For å konvertere desimaltallet 77 til det binære systemet, vil vi lage en serie med inndelinger som vil gi følgende resultater:

77 / 2 = 38 Resterende ==> 1 38 / 2 = 19 Resterende ==> 0 19 / 2 = 9 Resten ==> 1 9 / 2 = 4 Resterende ==> 1 4 / 2 = 2 Resterende ==> 0 2 / 2 = 1 Resterende ==> 0 Siste kvotient ==> 1 Når du tar den siste kvotienten og restene i omvendt rekkefølge, er resultatet: 1001101(binær)

Det er en siste metode som heter distribusjon. Den består i å fordele de nødvendige blant de påfølgende potensene av 2 slik at summen deres viser seg å være desimaltallet som skal konverteres. Ta for eksempel tallet 151, som de første 8 potensene av 2 vil være nødvendig for , siden den neste, 2 8 = 256, er større enn tallet som skal konverteres. Den begynner med å sette en 1 i 128, så det er fortsatt 23 igjen, 151-128 = 23, for å nå 151. Denne verdien oppnås ved å fordele enere mellom potensene hvis sum gir ønsket resultat og sette nuller i resten. I eksemplet viser de seg å være potensene 4, 2, 1 og 0, det vil si henholdsvis 16, 4, 2 og 1.

Eksempel 2 0 = 1|1 2 1 = 2|1 2 2 = 4|1 2 3 = 8|0 2 4 = 16|1 2 5 = 32|0 2 6 = 64|0 2 7 = 128|1 Desimal (med desimaler) til binær

For å transformere et tall fra desimalsystemet til det binære systemet:

  1. Konverter heltallsdelen til binær. (Hvis heltallsdelen er 0 i binær vil den være 0, hvis heltallsdelen er 1 i binær vil den være 1, hvis heltallsdelen er 5 i binær vil den være 101 og så videre).
  2. Den fortsetter med brøkdelen, og multipliserer hvert tall med 2. Hvis resultatet er større enn eller lik 1, registreres det som et binært (1). Hvis det er mindre enn 1, noteres det som en binær 0. (For eksempel, når vi multipliserer 0,6 med 2 får vi 1,2 som et resultat, noe som indikerer at resultatet vårt er en (1) i binær, bare desimaldelen av resultatet tas).
  3. Etter å ha utført hver multiplikasjon, plasseres tallene som ble oppnådd i den rekkefølgen de ble oppnådd.
  4. Noen tall blir tilbakevendende sifre, for eksempel: 0.1.


Eksempel 0,3125 (desimal) => 0,0101 (binær). Prosess: 0,3125 * 2 = 0,625 => 0 0,625 * 2 = 1,25 => 1 0,25 * 2 = 0,5 => 0 0,5 * 2 = 1 => 1 I rekkefølge: 0101 -> 0,0101 (binær) Eksempel 0,1 (desimal) => 0,0 0011 0011 ... (binær). Prosess: 0,1 * 2 = 0,2 ==> 0 0,2 * 2 = 0,4 ==> 0 0,4 * 2 = 0,8 ==> 0 0,8 * 2 = 1,6 ==> 1 0,6 * 2 = 1,2 ==> 1 0,2 * 2 = 0,4 ==> 0 <--de fire tallene gjentas med jevne mellomrom 0,4 * 2 = 0,8 ==> 0 <- 0,8 * 2 = 1,6 ==> 1 <- 0,6 * 2 = 1,2 ==> 1 <- ... I rekkefølge: 0 0011 0011 ... => 0,0 0011 0011 ... (periodisk binær) Eksempel [ 5 ] Konverter 0,2 (desimal) til binær. Prosess: 0,2 * 2 = 0,4 ==> 0 0,4 * 2 = 0,8 ==> 0 0,8 * 2 = 1,6 ==> 1 0,6 * 2 = 1,2 ==> 1 0,2 * 2 = 0,4 ==> 0 Siden verdiene gjentas på ubestemt tid, er resultatet: I rekkefølge: 0,001100110011...(binær) Eksempel 5,5 = 5,5 5,5 (desimal) => 101,1 (binær). Prosess: 5 => 101 0,5 * 2 = 1 => 1 I rekkefølge: 1 (enkeltbrøksiffer) -> 101,1 (binær) Eksempel 6,83 (desimal) => 110,110101000111 (binær). Prosess: 6 => 110 0,83 * 2 = 1,66 => 1 0,66 * 2 = 1,32 => 1 0,32 * 2 = 0,64 => 0 0,64 * 2 = 1,28 => 1 0,28 * 2 = 0,56 => 0 0,56 * 2 = 1,12 => 1 0,12 * 2 = 0,24 => 0 0,24 * 2 = 0,48 => 0 0,48 * 2 = 0,96 => 0 0,96 * 2 = 1,92 => 1 0,92 * 2 = 1,84 => 1 0,84 * 2 = 1,68 => 1 I rekkefølge: 110101000111 (binær) Heltallsdel: 110 (binær) Kobling av heltall og brøkdel: 110,110101000111 (binær) Binær til desimal

For å konvertere fra binær til desimal, gjør følgende:

  1. Start på høyre side av tallet i binær. Multipliser hvert siffer med 2 hevet til påfølgende potens (begynner med potensen 0,2 0 ).
  2. Etter å ha utført hver av multiplikasjonene, legg dem alle sammen og det resulterende tallet vil være ekvivalent med desimalsystemet.

Eksempler:

  • (Tallene på toppen av det binære tallet indikerer potensen som tallet 2 må heves til)

Du kan også velge å bruke verdiene presentert av hver posisjon i det binære tallet som skal transformeres, fra høyre til venstre, og legge til verdiene til posisjonene som har en 1.

Eksempel

Det binære tallet 1010010 tilsvarer i desimal 82. Det kan representeres som følger:

legg deretter til tallene 64, 16 og 2:

For å endre fra binær med desimaler til desimal, gjør du nøyaktig det samme, bortsett fra at nullposisjonen (der to er hevet til null) er den til høyre for desimaltegnet og telles til venstre fra - 1:

Binær til desimal (med binær brøkdel)

1. Starter fra venstre side (det første tallet til høyre for kommaet), må hvert tall multipliseres med 2 hevet til den påfølgende potensen i revers (starter med potensen -1, 2 -1 ).

2. Etter å ha utført hver av multiplikasjonene, legger du alle sammen og det resulterende tallet vil være ekvivalent med desimalsystemet.

eksempler
  • 0,101001 (binær) = 0,640625 (desimal). Prosess:
1 * 2 hevet til -1 = 0,5 0 * 2 hevet til -2 = 0 1 * 2 i potensen -3 = 0,125 0 * 2 hevet til -4 = 0 0 * 2 hevet til -5 = 0 1 * 2 hevet til -6 = 0,015625 Summen er: 0,640625
  • 0,110111 (binær) = 0,859375 (desimal). Prosess:
1 * 2 hevet til -1 = 0,5 1 * 2 hevet til -2 = 0,25 0 * 2 hevet til -3 = 0 1 * 2 i potensen -4 = 0,0625 1 * 2 i potensen -5 = 0,03125 1 * 2 hevet til -6 = 0,015625 Summen er: 0,859375

Operasjoner med binære tall

Addisjon av binære tall

Addisjonstabellen for binære tall er som følger:

  +   0   1
  0   0   1
  1   1 10

De mulige kombinasjonene når du legger til to biter er:

  • 0 + 0 = 0
  • 0 + 1 = 1
  • 1 + 0 = 1
  • 1 + 1 = 10

Legg merke til at å legge til 1 + 1 er 10 2 , det vil si at vi fører 1 til neste posisjon fra venstre ( carry ). Dette tilsvarer i desimalsystemet å legge til 9 + 1, som gir 10: null i posisjonen vi legger til og en bære 1 til neste posisjon.

Eksempel 1 10011000 + 00010101 ——————————— 10101101

Du kan konvertere den binære operasjonen til en desimaloperasjon, løse desimalen og deretter transformere resultatet til en binær (tall). Vi opererer som i desimalsystemet: vi begynner å legge til fra høyre, i vårt eksempel, 1 + 1 = 10, så vi skriver 0 i resultatraden og bærer 1 (denne " 1 " kalles bære ) . Bæren legges så til neste kolonne: 1 + 0 + 0 = 1, og vi fortsetter til alle kolonnene er ferdige (nøyaktig som i desimal). [ 4 ]

Subtraksjon av binære tall

Subtraksjonsalgoritmen i binært system er den samme som i desimalsystem. Men det er verdt å gjennomgå operasjonen av subtraksjon i desimal for å forstå den binære operasjonen, som er enklere. Begrepene som er involvert i subtraksjon kalles minuend, subtrahend og difference.

De grunnleggende subtraksjonene 0 - 0, 1 - 0 og 1 - 1 er selvinnlysende:

  • 0 - 0 = 0
  • 1 - 0 = 1
  • 1 - 1 = 0
  • 0 - 1 = 1 (blir 10 - 1 = 1) (i desimalsystemet tilsvarer det 2 - 1 = 1)

Subtraksjonen 0 - 1 løses på samme måte som i desimalsystemet, og tar en lånt enhet fra følgende posisjon: 0 - 1 = 1 og jeg tar 1 (denne verdien trekkes fra det oppnådde resultatet, mellom minuend og subtrahend av neste kolonne), som tilsvarer å si i desimalsystemet, 2 - 1 = 1.

eksempler 10001 11011001 -01010 -10101011 —————— ————————— 00111 00101110

I desimalsystemet vil det være: 17 - 10 = 7 og 217 - 171 = 46.

For å forenkle subtraksjon og redusere muligheten for å gjøre feil, er det flere metoder:

  • Del de lange tallene inn i grupper. I følgende eksempel ser vi hvordan en lang subtraksjon er delt inn i tre korte subtraksjoner:
100110011101 1001 1001 1101 -010101110010 -0101 -0111 -0010 ————————————— = ————— ————— ————— 010000101011 0100 0010 1011
  • Ved å bruke de tos komplement (C2). Subtraksjonen av to binære tall kan oppnås ved å legge til "to-komplementet" til subtrahenden til minuenden.
Eksempel

Følgende subtraksjon, 91 - 46 = 45, i binær er:

1011011 1011011 -0101110 C2 til 0101110 er 1010010 +1010010 ———————— ———————— 0101101 10101101

I resultatet har vi en bit til overs, som renner over til venstre. Men siden det resulterende tallet ikke kan være lengre enn minuend, blir den ekstra biten neglisjert.

Et siste eksempel: vi skal trekke fra 219 - 23 = 196, direkte og bruke de tos komplement:

11011011 11011011 -00010111 C2 til 00010111 er 11101001 +11101001 ————————— ————————— 11000100 111000100

Og hvis vi ser bort fra venstre overløpsbit, får vi det riktige resultatet: 11000100 i binær, 196 i desimal.

  • Bruke ens komplement . Subtraksjonen av to binære tall kan oppnås ved å legge ens komplement av subtrahenden til minuenden og i sin tur legge til overflow-biten.
Produkt av binære tall

Multiplikasjonstabellen for binære tall er som følger:

  ·   0   1
  0   0   0
  1   0   1

Produktalgoritmen i binær er den samme som i desimaltall; selv om det utføres enklere, siden 0 multiplisert med et hvilket som helst tall gir 0, og 1 er det nøytrale elementet i produktet.

La oss for eksempel multiplisere 10110 med 1001:

10110 x1001 ————————— 10110 00000 00000 10110 ————————— 11000110

I elektroniske systemer, hvor større tall ofte brukes, brukes en metode som kalles Booths algoritme .

11101111 x111011 __________ 11101111 11101111 00000000 11101111 11101111 11101111 _______________ 11011100010101 Divisjon av binære tall

Divisjon i binær er lik desimal ; den eneste forskjellen er at når du gjør subtraksjonene, innenfor divisjonen , må disse gjøres binært.

Eksempel

Del 100010010 (274) med 1101 (13):

100010010 /1101 = 010101 -0000 ——————— 10001 -1101 ——————— 01000 - 0000 ——————— 10 000 - 1101 ——————— 00111 - 0000 ——————— 01110 - 1101 ——————— 00001

Konvertering mellom binært og oktalt system

Binært til oktalt system

Siden det oktale systemet har base 8, som er tredje potens av 2, og to er basen til det binære systemet, er det mulig å etablere en direkte metode for å konvertere fra base to til base åtte, uten å måtte konvertere fra binær til base. desimal og deretter fra desimal til oktal. Denne metoden er beskrevet nedenfor:

For å konvertere fra binær til oktal, gjør følgende:

1) Grupper den binære mengden i grupper på 3 x 3 fra høyre side. Hvis det på slutten av grupperingen ikke fyller ut 3 sifre, legger du til nuller til venstre.

2) Se senere den tilsvarende verdien i henhold til tabellen:

binært tall 000 001 010 011 100 101 110 111
oktalt tall 0 1 to 3 4 5 6 7

3) Den tilsvarende mengden i oktal er gruppert fra venstre til høyre.

eksempler
  • 110111 (binær) = 67 (oktal). Prosess:
111 = 7 110 = 6 Gruppe fra venstre til høyre: 67
  • 11001111 (binær) = 317 (oktal). Prosess:
111 = 7 001 = 1 11 legger så til en null, og gir 011 = 3 Gruppe fra venstre til høyre: 317
  • 1000011 (binær) = 103 (oktal). Prosess:
011 = 3 000 = 0 1 og legg til 001 = 1 Gruppe fra venstre til høyre: 103

Hvis det binære tallet har en desimaldel, grupperes det tre og tre fra desimaltegnet til høyre etter de samme kriteriene fastsatt ovenfor for heltall. For eksempel:

0,01101 (binær) = 0,32 (oktal) Prosess: 011 = 3 01 og legg til 010 = 2 Gruppe fra venstre til høyre: 32 Legg til heltallsdel: 0,32

Oktal til binær

Hvert oktale siffer konverteres til sin 3-bits binære ekvivalent og settes sammen i samme rekkefølge.

Eksempel
  • 247 (oktal) = 010100111 (binær). 2-en i binær er 10, men i 3-bits binær er den Oc(2) = B(010); Oc(4) = B(100) og Oc(7) = (111), så vil tallet i binær være 010100111.

Konvertering mellom binær og heksadesimal

Binær til heksadesimal

For å konvertere fra binær til heksadesimal, gjør følgende:

1) Grupper den binære mengden i grupper på 4 x 4 fra høyre side. Hvis det på slutten av grupperingen ikke fyller ut 4 sifre, legger du til nuller til venstre.

2) Se senere den tilsvarende verdien i henhold til tabellen:

binært tall 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
Heksadesimalt tall 0 1 to 3 4 5 6 7 8 9 EN B. C D OG F

3) Den tilsvarende mengden i heksadesimal er gruppert fra høyre til venstre.

eksempler
  • 110111010 (binær) = 1BA (heksadesimal). Prosess:
1010 = A 1011 = B 1 og legg til 0001 = 1 Gruppe fra høyre til venstre: 1BA
  • 11011110101 (binær) = 6F5 (heksadesimal). Prosess:
0101 = 5 1111=F 110 og legg til 0110 = 6 Gruppe fra høyre til venstre: 6F5 Hex til binær

Merk at for å gå fra heksadesimalt til binært, erstattes det heksadesimale tallet med 4-bits ekvivalent, lik oktal til binær.

Konverteringstabell mellom desimal, binær, heksadesimal, oktal, BCD, overskytende 3 og grå eller reflektert

Desimal Binær heksadesimal oktal B C D Overskudd 3 Grå eller reflektert
0 0000 0 0 0000 0011 0000
1 0001 1 1 0001 0100 0001
to 0010 to to 0010 0101 0011
3 0011 3 3 0011 0110 0010
4 0100 4 4 0100 0111 0110
5 0101 5 5 0101 1000 0111
6 0110 6 6 0110 1001 0101
7 0111 7 7 0111 1010 0100
8 1000 8 10 1000 1011 1100
9 1001 9 elleve 1001 1100 1101
10 1010 EN 12 0001 0000 1111
elleve 1011 B. 1. 3 0001 0001 1110
12 1100 C 14 0001 0010 1010
1. 3 1101 D femten 0001 0011 1011
14 1110 OG 16 0001 0100 1001
femten 1111 F 17 0001 0101 1000

Faktorisering

  • Konverteringstabell mellom binær, binær faktor, heksadesimal, oktal og desimal
Binær binær faktor heksadesimal oktal Desimal
0000 0010 2 1 to to to
0000 0100 2 2 4 4 4
0000 1000 2 3 8 10 8
0001 0000 2 4 10 tjue 16
0010 0000 2 5 tjue 40 32
0100 0000 2 6 40 100 64
1000 0000 2 7 80 200 128

Se også

Referanser

  1. Thomas: Infinitesimal kalkulus og analytisk geometri , Aguilar, Madrid. Se også Drae
  2. Bruk BCD, heksadesimal, etc; "Digital matematikk" ISBN 958-600-821-5 .
  3. «Binær kode: hva bruker vi det binære systemet til?» . IONOS Digitalguide . Hentet 2022-03-29 . 
  4. ↑ a b ING. EVA NARSERIES ZENTENO. "Diskret matematikk" . Hentet 14. mars 2016 . 
  5. Nieves, Antonio (1999). Numeriske metoder . Continental, SA de CV 

Eksterne lenker