Det binære system (fra det latinske binārĭus , "dobbelt") er det talsystem, der bruger basen 2 . Cifrene i det positionelle binære tal kaldes almindeligvis bit (fra det engelske binære ciffer eller "binære ciffer") . En bit kan tage to værdier, betegnet med konvention 0 og 1 .
Det binære system er nyttigt til at repræsentere driften af digital elektronik, der anvendes i computere . Det bruges derfor af programmeringssprog på lavt niveau .
Den mest almindelige binært system er matematisk basis to , så tal , der skal repræsenteres ved hjælp af sted- nummerering med kun to cifre: 0 og 1.
I denne type kodning repræsenteres hvert nummer entydigt af en ordnet sekvens af cifre . Og hver position m repræsenterer en styrke ( m - 1) af basen . Hvis vi oprindeligt begrænser os til positive heltal , er disse kræfter i base ti : en (1), ti (repræsenteret af 10), hundrede (ti gange ti, repræsenteret af 100), tusind (ti gange hundrede, repræsenteret af 1000), ti tusind osv. I base to er disse beføjelser: en (1), to (også repræsenteret af 10), fire (to gange to, repræsenteret af 100), otte (to gange fire, repræsenteret af 1000), seksten (to gange otte, repræsenteret ved 10000) osv.
Vi ser, at betydningen af repræsentationer 10, 100, 1000 osv. afhænger af den anvendte base: 10 er altid lig med basen, det vil sige ti i base ti, men to i base to.
I base ti anvendes ti cifre, fra nul til ni; i base n bruger vi n cifre, fra nul til n - 1; derfor i base to bruger vi de to cifre “0” og “1”.
Et tal, der udtrykkes i base B med de fire cifre 1101, kan analyseres:
, som giver:
1101 i bund B = 10: | |||||
1101 i bund B = 8: | |||||
1101 i bund B = 2: |
De første tal og cifre i basis 10 er skrevet:
decimal | binær | bemærkning |
---|---|---|
0 | 0 | nul |
1 | 1 | un = basiseffekt nul (gyldig for alle baser, så to og ti) |
2 | 10 | to = to til styrken af en (et nul bag 1) |
3 | 11 | |
4 | 100 | fire = to til kraften af to (to nuller bag 1) |
5 | 101 | |
6 | 110 | |
7 | 111 | |
8 | 1000 | otte = to i kraft af tre (tre nuller bag 1) |
9 | 1001 |
Vi giver hver bit en effekt på to, ligesom denne sekvens 1, 2, 4, 8, 16, 32, 64. For at opnå tallet 7 tilføjer vi de første tre bits; for at få 6 tilføjer vi kun bit med en vægt på 4 og bit med en vægt på 2.
Teknikkerne til de fire grundlæggende operationer (addition, subtraktion, multiplikation og division) forbliver nøjagtigt de samme som i decimalnotation; de er bare drastisk forenklet, fordi der kun er de to cifre 0 og 1. For multiplikationen for eksempel uanset basen, multiplikationen med 10 (dvs. af selve basen) udføres ved at tilføje et nul til højre.
De eneste ændringer, der ændrer på den ene side formen af sekvensen af cifre, der udtrykker resultatet (det tæller kun nuller og en), på den anden side betydningen af denne sekvens (10 betyder "to" og ikke "ti", 100 betyder "fire" og ikke "hundrede" osv.).
Addition og subtraktionVi går fra et binært tal til det næste ved at tilføje 1, som i decimal, uden at glemme holdene og bruge det almindelige bord (men reduceret til dets enkleste udtryk):
0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 0 avec 1 retenue 0 - 0 = 0 0 - 1 = 1 avec 1 retenue 1 - 0 = 1 1 - 1 = 0Det kan ses, at tilføjelsen af to bits A og B giver A XOR B med en bære svarende til A OG B.
Så:
11 + 1 ____ 100Detalje:
1 + 1 = 10 => on pose 0 et on retient 1 1 + 1(retenue) = 10 => on pose 0 et on retient 1 0 + 1(retenue) = 1 => on pose 1 devant 00Multiplikation med to sker ved at skifte hvert ciffer et trin til venstre og indsætte et nul i slutningen.
For eksempel to gange elleve:
Hele delingen med to gøres ved at flytte hvert ciffer et trin til højre, hvor det højre ciffer er resten fjernet.
For eksempel elleve divideret med to:
Binær aritmetik (mere simpelt binær beregning) bruges af de mest almindelige elektroniske systemer (regnemaskiner, computere osv.), Fordi de to cifre 0 og 1 reflekteres der af spændingen eller gennemgangen af en strøm. F.eks. Kan 0 repræsenteres af lav tilstand (nul spænding eller strøm) og 1 af høj tilstand (eksisterende spænding, strøm der strømmer).
For at fuldføre repræsentationen af heltal er det nødvendigt at kunne skrive negative heltal . Der findes to repræsentationer, den ene komplement og de to komplement.
Supplement til enDenne kodning består i at invertere værdien af hver bit.
For eksempel for at få −7:
En mangel ved dette system er, at nul har to repræsentationer: 0000 og 1111 ("+0" og "-0"). Det bruges ikke af nuværende computere, men blev brugt af ældre computere som Control Data 6600 . De to repræsentationer af nul komplicerer testkredsløbene.
Supplement for toDe to komplement består i at udføre ens komplement og derefter tilføje 1.
For eksempel for at opnå −7:
Denne kodning har den fordel, at den ikke kræver særlig differentiering af positive og negative tal og især undgår problemet med dobbelt repræsentation af nul.
Her er en tilføjelse af −7 og +9 udført som et 4-bit to komplement:
-7 1001 +9 1001 __ ____ 2 (1) 0010 (on « ignore » la retenue)Med n bits tillader dette system at repræsentere tallene mellem −2 n −1 og 2 n −1 - 1.
Baserne 8 (oktal) og 16 (hexadecimal) er effektbaser i base 2. Disse to baser bruges almindeligvis til databehandling og af praktiske årsager; disse baser er stærkt knyttet til base 2, og tallene skrevet i disse baser er mere "manipulerbare" (på grund af kortere skrivning) af det menneskelige intellekt. Skrivning af tal i disse baser opnås let ved at gruppere cifre fra at skrive nummer til base 2.
Vi kunne let udvide dette princip til alle baser, der er beføjelser til 2.
Til binærDet er tilstrækkeligt at konvertere værdien af hvert af cifrene i deres binære form ved hjælp af et antal cifre svarende til basens styrke: 16 = 2 4 , 8 = 2 3 , så 4 cifre for hexadecimalen og 3 for oktal:
|
|
Grå kode, også kaldet reflekteret binær, tillader kun en bit at ændre sig ad gangen, når et tal øges eller mindskes med et. Navnet på koden kommer fra den amerikanske ingeniør Frank Gray , der indgav patent på denne kode i 1947.
For direkte at beregne den grå kode for et heltal ud fra dens forgængers, kan vi gå frem som følger:
For at forene computerens binære logik med den menneskelige logik kan man konvertere til binær, snarere end selve tallene, hver af de cifre, der komponerer dem i decimalposition. Hver af disse cifre kodes derefter på 4 bits:
1994 = 0001 1001 1001 0100 1×1000 + 9×100 + 9×10 + 4×1Med n bits (n multipel af 4) er det muligt at repræsentere tallene mellem 0 og 10 n / 4 -1. Det vil sige cirka mellem 0 og 1,778 n -1. DCB er en overflødig kode, faktisk bruges nogle kombinationer ikke (som f.eks. 1111).
Denne repræsentation undgår ved konstruktion alle de besværlige afrundingsakkumuleringsproblemer, der ville opstå under manipulation af store antal, der overstiger kredsløbets størrelse i heltal aritmetik og forpligtet til at ty til flyderen. Det er dog muligt at manipulere tal med vilkårlig præcision ved at bruge mere effektiv kodning end DCB.
Der er varianter af DCB-kodning:
I information teori , at entropi er af en informationskilde udtrykt i bit . Teorien i sig selv er ligeglad med repræsentationen af de størrelser, den bruger.
Den klassiske logik er en bivalent logik: et udsagn er enten sandt eller falsk. Det er derfor muligt at repræsentere sandheden af en proposition med et binært tal. For eksempel kan vi modellere operationerne af binær aritmetik ved hjælp af boolsk algebra .
Den boolske algebra repræsenterer et meget specielt tilfælde af brug af sandsynligheder, der kun involverer de eneste sandhedsværdier 0 og 1. Se Cox-Jaynes sætning .
Binæret bruges til databehandling, fordi det gør det muligt at modellere driften af skiftekomponenterne som TTL eller CMOS . Tilstedeværelsen af en spændingstærskel på tværs af transistorer, der forsømmer den nøjagtige værdi af denne spænding, repræsenterer 0 eller 1. For eksempel vil tallet 0 blive brugt til at betegne et fravær af spænding inden for 0,5 V , og tallet 1 til at indikere dets tilstedeværelse mere end 0,5 V . Denne tolerancemargen gør det muligt at skubbe mikroprocessorernes hastigheder til værdier, der når flere gigahertz .
I datalogi gør den binære repræsentation det muligt klart at manipulere bits : hvert binært ciffer svarer til en smule. Men da den binære repræsentation kræver brug af mange cifre (selv for forholdsvis små tal), fører det til betydelige læsbarhedsproblemer og derfor risiko for transkriptionsfejl for programmører. Andre repræsentationer foretrækkes derfor : hexadecimal notation, som gør det muligt at manipulere information i pakker med 4 bit, er velegnet til næsten alle aktuelle mikroprocessorer, der arbejder med ord på 8, 16, 32 eller 64 bit; sjældnere, scorende oktal , populær tid for de første minicomputere DEC til 12 eller 36 bits, som kan repræsentere information i pakker på 3 bits.