Konvertering av 8 til binær. Utdanningskompleks ti

Leksjonens mål:

  • gjenta materialet som er studert om emnet for tallsystemet;
  • lære å konvertere et tall fra desimalsystemet til et hvilket som helst annet posisjoneltallsystem og omvendt;
  • mestre prinsippene for å konvertere tall fra ett system til et annet;
  • utvikle logisk tenkning.

Leksjonsfremgang

I begynnelsen av timen en kort gjennomgang og kontroll av lekser.

I hvilken form presenteres numerisk informasjon i datamaskinens minne?

Hva brukes tallsystemer til?

Hvilke typer tallsystemer kjenner du til? Gi dine egne eksempler.

Hvordan skiller posisjonssystemer seg fra ikke-posisjonelle systemer?

Målet med leksjonen vår er å lære å konvertere et tall fra desimalsystem til et hvilket som helst annet posisjonsnummersystem og omvendt. Men først skal vi se på hvordan du kan

representerer et hvilket som helst ikke-negativt heltall:

I posisjonssystemer verdien av å skrive et heltall bestemmes av følgende regel: la a n a n-1 a n-2 …a 1 a 0 være en post av nummer A, og i er sifre, så

hvor p er et heltall større enn 1, som kalles grunnen til tallsystemet

For at, for en gitt p, kan ethvert ikke-negativt heltall skrives i henhold til formel (1) og dessuten på en unik måte, numeriske verdier forskjellige tall må være distinkte heltall som tilhører intervallet fra 0 til p-1.

1) Desimalsystem

tall: 0,1,2,3,4,5,6,7,8,9

nummer 5735 = 5 10 3 +7 10 2 +3 10 1 +8 10 0

2) Ternært system

tall: 0,1,2

tall 201 3 = 2·3 2 +0·3 1 +1·3 0

Merk: underskriften i et tall angir grunnlaget for tallsystemet der nummeret er skrevet. For desimaltallsystemet trenger ikke indeksen skrives.

Representasjon av negative og brøktall:

I alle posisjonssystemer brukes "–"-tegnet for å skrive negative tall, akkurat som i desimalsystemet. Et komma brukes til å skille heltallsdelen av et tall fra brøkdelen. Verdien av oppføringen a n a n-1 a n-2 …a 1 a 0 , a -1 a -2 …a m-2 a m-1 a m av tallet A bestemmes av formelen, som er en generalisering av formel (1):

75,6 = 7·10 1 +5·10 0 +6·10 –1

–2,314 5 = –(2 5 0 +3 5 –1 +1 5 –2 +4 5 –3)

Konvertering av tall fra et vilkårlig tallsystem til desimal:

Det skal forstås at når du oversetter et tall fra ett tallsystem til et annet, endres ikke den kvantitative verdien av tallet, men bare formen for å skrive tallet endres, akkurat som når du oversetter navnet på et tall, for eksempel fra russisk til engelsk.

Konvertering av tall fra et vilkårlig tallsystem til desimal utføres ved direkte beregning ved bruk av formel (1) for heltall og formel (2) for brøker.

Konvertering av tall fra desimaltallsystemet til et vilkårlig tallsystem.

Å konvertere et tall fra desimalsystemet til et system med grunntall p betyr å finne koeffisientene i formel (2). Noen ganger er det lett å gjøre enkelt utvalg. La oss for eksempel si at du må konvertere tallet 23,5 til det oktale systemet. Det er lett å se at 23,5 = 16+7+0,5 = 2·8+7+4/8 = 2·8 1 +7·8 0 +4·8 –1 =27,48. Det er tydelig at svaret ikke alltid er like åpenbart. Generelt brukes metoden for å konvertere heltalls- og brøkdelene av et tall separat.

For å konvertere heltall brukes følgende algoritme (oppnådd basert på formel (1)):

1. Finn kvotienten og resten når du deler et tall på p. Resten vil være det neste sifferet ai (j=0,1,2 ...) i nummeroppføringen i nytt system Regning

2. Hvis kvotienten er lik null, er oversettelsen av tallet fullført, ellers bruker vi punkt 1 på kvoten.

Merknad 1. Sifrene ai i tallnotasjonen er nummerert fra høyre til venstre.

Merknad 2. Hvis p>10, er det nødvendig å introdusere notasjoner for tall med numeriske verdier større enn eller lik 10.

Konverter tallet 165 til septaltallsystemet.

165:7 = 23 (resten 4) => a 0 = 4

23:7 = 3 (resten 2) => a 1 = 2

3:7 = 0 (resten 3) => a 2 = 3

La oss skrive ned resultatet: a 2 a 1 a 0 , dvs. 3247.

Etter å ha sjekket med formel (1), vil vi sørge for at oversettelsen er riktig:

3247=3·7 2 +2·7 1 +4·7 0 =3·49+2·7+4 = 147+14+4 = 165.

For å konvertere brøkdeler av tall, brukes en algoritme, oppnådd på grunnlag av formel (2):

1. Multipliser brøkdel tall på s.

2. Heltallsdelen av resultatet vil være det neste sifferet am (m = –1, –2, –3 ...) av tallet skrevet i det nye tallsystemet. Hvis brøkdelen av resultatet er null, er oversettelsen av tallet fullført, ellers bruker vi trinn 1 på det.

Merknad 1. Sifrene a m i tallnotasjonen er ordnet fra venstre mot høyre i økende rekkefølge etter den absolutte verdien av m.

Merknad 2. Vanligvis antall brøksiffer i ny oppføring antall er begrenset på forhånd. Dette lar deg utføre en omtrentlig oversettelse med en spesifisert nøyaktighet. Når det gjelder uendelige brøker, sikrer en slik begrensning algoritmens endelighet.

Konverter tallet 0,625 til binært system Regning

0,625 2 = 1,25 ( hele delen 1) => a -1 =1

0,25 2 = 0,5 (heltallsdel 0) => a- 2 = 0

0,5 2 = 1,00 (heltall del 1) => a- 3 = 1

Så 0,62510 = 0,1012

Etter å ha sjekket med formel (2), vil vi sørge for at oversettelsen er riktig:

0,1012=1·2 -1 +0·2- 2 +1·2 -3 =1/2+1/8 = 0,5+0,125 = 0,625.

Konverter tallet 0,165 til det kvartære tallsystemet, og begrense det til fire kvartære sifre.

0,165 4 = 0,66 (heltallsdel 0) => a -1 =0

0,66 4 = 2,64 (heltall del 2) => a -2 = 2

0,64 4 = 2,56 (heltall del 2) => a -3 = 2

0,56 4 = 2,24 (heltall del 2) => a -4 = 2

Så 0,16510" 0,02224

La oss gjøre det omvendt oversettelse for å sikre at den absolutte feilen ikke overstiger 4–4:

0,02224 = 0·4 -1 +2·4 -2 +2·4 -3 +2·4 -4 = 2/16+2/64+2/256 = 1/8+1/32+1/ 128 = 21/128 = 0,1640625

|0,1640625–0,165| = 0,00094 < 4–4 = 0,00390625

Konvertering av tall fra ett vilkårlig system til et annet

I dette tilfellet må du først konvertere tallet til desimalsystemet, og deretter fra desimalsystemet til det nødvendige.

En spesiell metode brukes til å konvertere tall for systemer med flere baser.

La p og q være grunnflatene til to tallsystemer. Vi vil kalle disse systemene tallsystemer med flere baser hvis p = qn eller q = pn, hvor n er et naturlig tall. Så for eksempel er tallsystemer med basene 2 og 8 flere grunntallsystemer.

La p = qn og du må konvertere et tall fra et tallsystem med grunntall q til et tallsystem med grunntall p. La oss dele heltalls- og brøkdelene av tallet i grupper med n sekvensielt skrevne sifre til venstre og høyre for desimaltegnet. Hvis antall sifre i heltallsdelen av et tall ikke er et multiplum av n, må du legge til det tilsvarende antallet nuller til venstre. Hvis antall sifre i brøkdelen av et tall ikke er et multiplum av n, legges nuller til høyre. Hver slik gruppe med sifre er et tall i gammelt system nummer vil tilsvare ett siffer i et tall i det nye tallsystemet.

La oss konvertere 1100001.111 2 til det kvartære tallsystemet.

Ved å legge til nuller og velge tallpar får vi 01100001.11102.

La oss nå oversette hvert par med sifre separat, ved å bruke delen Oversette tall fra ett vilkårlig system til et annet.

Så, 1100001.1112 = 01100001.11102 = 1201.324.

La oss nå anta at vi må overføre fra et system med større base q til et system med mindre base p, dvs. q = pn. I dette tilfellet tilsvarer ett siffer av et tall i det gamle tallsystemet n sifre i et tall i det nye tallsystemet.

Eksempel: La oss sjekke den forrige oversettelsen av et tall.

1201,324 = 1100001,11102=1100001,1112

I heksadesimalt system det er tall med numeriske verdier 10,11,12, 13,14,15. For å angi dem, bruk de seks første bokstavene i det latinske alfabetet A, B, C, D, E, F.

Her er en tabell med tall fra 0 til 16, skrevet i tallsystemer med basene 10, 2, 8 og 16.

Tall i desimalsystem 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
I oktal 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20
I binær 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 10000
I heksadesimal 0 1 2 3 4 5 6 7 8 9 EN B C D E F 10

For å skrive heksadesimale sifre kan du også bruke små latinske bokstaver a-f.

Eksempel: La oss konvertere tallet 110101001010101010100.11 2 til et heksadesimalt tallsystem.

La oss bruke multiplisiteten av basene til tallsystemene (16=2 4). La oss gruppere tallene med fire, og legge til det nødvendige antallet nuller til venstre og høyre

000110101001010101010100,1100 2

og når vi sjekker tabellen, får vi: 1A9554,C 16

Konklusjon:

Hvilket tallsystem som er best å skrive tall i er et spørsmål om bekvemmelighet og tradisjon. Fra et teknisk synspunkt er det praktisk å bruke det binære systemet i en datamaskin, siden det bare bruker to sifre 0 og 1 for å registrere et tall, som kan representeres av to lett gjenkjennelige tilstander "ingen signal" og "det er et signal."

Tvert imot er det upraktisk for en person å håndtere binære notasjoner av tall på grunn av det faktum at de er lengre enn desimaler og det er mange gjentakende sifre i dem. Arbeid derfor om nødvendig med maskinrepresentasjoner av tall, bruk oktale eller heksadesimale tallsystemer. Basene til disse systemene er heltallspotenser av to, og derfor konverteres tall enkelt fra disse systemene til binære og omvendt.

Skriv ned hjemmeoppgaven:

a) Skriv ned fødselsdatoen til alle medlemmer av familien din i forskjellige tallsystemer.

b) Konverter tallene fra binære til oktale og heksadesimale, og kontroller deretter resultatene ved å utføre de omvendte konverteringene:

a) 1001111110111.011 2;

Kalkulatoren lar deg konvertere hele og brøktall fra ett tallsystem til et annet. Grunnlaget for tallsystemet kan ikke være mindre enn 2 og større enn 36 (10 sifre og 26 latinske bokstaver tross alt). Lengden på tallene må ikke overstige 30 tegn. For å legge inn brøktall, bruk symbolet. eller, . For å konvertere et tall fra ett system til et annet, skriv inn det opprinnelige tallet i det første feltet, radix originalt system nummeret til det andre og basen av tallsystemet du vil konvertere tallet til til det tredje feltet, klikk deretter på "Hent post"-knappen.

Opprinnelig nummer skrevet på 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 364 3 5 -te tallsystem.

Jeg ønsker å få skrevet inn et nummer 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 -te tallsystem.

Få inngang

Fullførte oversettelser: 1363703

Tallsystemer

Tallsystemer er delt inn i to typer: posisjonelle Og ikke posisjonsmessig. Vi bruker det arabiske systemet, det er posisjonsbestemt, men det er også det romerske systemet – det er ikke posisjonelt. I posisjonssystemer bestemmer posisjonen til et siffer i et tall entydig verdien av det tallet. Dette er lett å forstå ved å se på et tall som eksempel.

Eksempel 1. La oss ta tallet 5921 i desimaltallsystemet. La oss nummerere tallet fra høyre til venstre fra null:

Tallet 5921 kan skrives i følgende form: 5921 = 5000+900+20+1 = 5·10 3 +9·10 2 +2·10 1 +1·10 0 . Tallet 10 er en egenskap som definerer tallsystemet. Verdiene for posisjonen til et gitt tall tas som potenser.

Eksempel 2. Vurder det ekte desimaltall 1234.567. La oss nummerere det fra null posisjon tall fra desimaltegn til venstre og høyre:

Tallet 1234.567 kan skrives i følgende form: 1234.567 = 1000+200+30+4+0.5+0.06+0.007 = 1·10 3 +2·10 2 +3·10 1 +4·10 0 +5·10 -1 + 6·10 -2 +7·10 -3.

Konvertering av tall fra ett tallsystem til et annet

De fleste på en enkel måteå konvertere et tall fra ett tallsystem til et annet er å først konvertere tallet til et desimaltallsystem, og deretter det resulterende resultatet til det nødvendige tallsystemet.

Konvertering av tall fra et hvilket som helst tallsystem til desimaltallsystemet

For å konvertere et tall fra et hvilket som helst tallsystem til desimal, er det nok å nummerere dets sifre, og starter med null (sifferet til venstre for desimaltegnet) på samme måte som eksempel 1 eller 2. La oss finne summen av produktene til sifrene av tallet ved basis av tallsystemet i potens av posisjonen til dette sifferet:

1. Konverter tallet 1001101.1101 2 til desimaltallsystemet.
Løsning: 10011.1101 2 = 1·2 4 +0·2 3 +0·2 2 +1·2 1 +1·2 0 +1·2 -1 +1·2 -2 +0·2 -3 +1·2 - 4 = 16+2+1+0,5+0,25+0,0625 = 19,8125 10
Svare: 10011.1101 2 = 19.8125 10

2. Konverter tallet E8F.2D 16 til desimaltallsystemet.
Løsning: E8F.2D 16 = 14·16 2 +8·16 1 +15·16 0 +2·16 -1 +13·16 -2 = 3584+128+15+0,125+0,05078125 = 3727,17578125 10
Svare: E8F.2D 16 = 3727.17578125 10

Konvertering av tall fra desimaltallsystemet til et annet tallsystem

For å konvertere tall fra desimaltallsystemet til et annet tallsystem, må heltalls- og brøkdelene av tallet konverteres separat.

Konvertering av en heltallsdel av et tall fra et desimaltallsystem til et annet tallsystem

En heltallsdel konverteres fra et desimaltallsystem til et annet tallsystem ved sekvensiell å dele heltallsdelen av et tall med tallsystemets grunnflate inntil en hel rest er oppnådd som er mindre enn tallsystemets grunnflate. Resultatet av oversettelsen vil være en registrering av resten, og starter med den siste.

3. Konverter tallet 273 10 til det oktale tallsystemet.
Løsning: 273 / 8 = 34 og resten 1. 34 / 8 = 4 og resten 2. 4 er mindre enn 8, så beregningen er fullført. Rekorden fra saldoene vil se slik ut: 421
Undersøkelse: 4·8 2 +2·8 1 +1·8 0 = 256+16+1 = 273 = 273, resultatet er det samme. Dette betyr at oversettelsen ble utført riktig.
Svare: 273 10 = 421 8

Vurder oversettelsen av riktige desimalbrøker til ulike systemer Regning

Konvertering av brøkdelen av et tall fra desimaltallsystemet til et annet tallsystem

Husk at en riktig desimalbrøk kalles reelt tall med null heltallsdel. For å konvertere et slikt tall til et tallsystem med base N, må du sekvensielt multiplisere tallet med N til brøkdelen er nullstilt eller det nødvendige antallet sifre er oppnådd. Hvis det under multiplikasjon oppnås et tall med en annen heltallsdel enn null, blir ikke heltallsdelen tatt videre i betraktning, siden den legges inn sekvensielt i resultatet.

4. Konverter tallet 0,125 10 til det binære tallsystemet.
Løsning: 0,125·2 = 0,25 (0 er heltallsdelen, som blir det første sifferet i resultatet), 0,25·2 = 0,5 (0 er det andre sifferet i resultatet), 0,5·2 = 1,0 (1 er det tredje sifferet av resultatet, og siden brøkdelen er null, er oversettelsen fullført).
Svare: 0.125 10 = 0.001 2

Merknad 1

Hvis du vil konvertere et tall fra ett tallsystem til et annet, er det mer praktisk å først konvertere det til desimaltallsystemet, og først deretter konvertere det fra desimaltallsystemet til et hvilket som helst annet tallsystem.

Regler for å konvertere tall fra et hvilket som helst tallsystem til desimal

I datateknologi, ved hjelp av maskinaritmetikk, spilles en viktig rolle ved konvertering av tall fra ett tallsystem til et annet. Nedenfor gir vi de grunnleggende reglene for slike transformasjoner (oversettelser).

    Når du konverterer et binært tall til desimal, må du representere binært tall i form av et polynom, hvor hvert element er representert som produktet av et siffer av et tall og den tilsvarende potensen til grunntallet, i i dette tilfellet$2$, og så må du beregne polynomet ved å bruke reglene for desimalregning:

    $X_2=A_n \cdot 2^(n-1) + A_(n-1) \cdot 2^(n-2) + A_(n-2) \cdot 2^(n-3) + ... + A_2 \cdot 2^1 + A_1 \cdot 2^0$

Figur 1. Tabell 1

Eksempel 1

Konverter tallet $11110101_2$ til desimaltallsystemet.

Løsning. Ved å bruke den gitte tabellen med $1$ potenser av grunntallet $2$, representerer vi tallet som et polynom:

$11110101_2 = 1 \cdot 27 + 1 \cdot 26 + 1 \cdot 25 + 1 \cdot 24 + 0 \cdot 23 + 1 \cdot 22 + 0 \cdot 21 + 1 \cdot 20 = 128 + + 0 + 4 + 0 + 1 = 245_(10)$

    For å konvertere et tall fra det oktale tallsystemet til det desimaltallsystemet, må du representere det som et polynom, hvor hvert element er representert som produktet av et siffer av tallet og den tilsvarende potensen til grunntallet, i dette tilfelle $8$, og så må du beregne polynomet i henhold til reglene for desimalregning:

    $X_8 = A_n \cdot 8^(n-1) + A_(n-1) \cdot 8^(n-2) + A_(n-2) \cdot 8^(n-3) + ... + A_2 \cdot 8^1 + A_1 \cdot 8^0$

Figur 2. Tabell 2

Eksempel 2

Konverter tallet $75013_8$ til desimaltallsystemet.

Løsning. Ved å bruke den gitte tabellen med $2$ potenser av grunntallet $8$, representerer vi tallet som et polynom:

$75013_8 = 7\cdot 8^4 + 5 \cdot 8^3 + 0 \cdot 8^2 + 1 \cdot 8^1 + 3 \cdot 8^0 = 31243_(10)$

    For å konvertere et tall fra heksadesimalt til desimaltall, må du representere det som et polynom, hvor hvert element er representert som produktet av et siffer av tallet og den tilsvarende potensen til grunntallet, i dette tilfellet $16$, og deretter du må beregne polynomet i henhold til reglene for desimalregning:

    $X_(16) = A_n \cdot 16^(n-1) + A_(n-1) \cdot 16^(n-2) + A_(n-2) \cdot 16^(n-3) + . .. + A_2 \cdot 16^1 + A_1 \cdot 16^0$

Figur 3. Tabell 3

Eksempel 3

Konverter tallet $FFA2_(16)$ til desimaltallsystemet.

Løsning. Ved å bruke den gitte tabellen med $3$ potenser av grunntallet $8$, representerer vi tallet som et polynom:

$FFA2_(16) = 15 \cdot 16^3 + 15 \cdot 16^2 + 10 \cdot 16^1 + 2 \cdot 16^0 =61440 + 3840 + 160 + 2 = 65442_(10)$

Regler for å konvertere tall fra desimaltallsystemet til et annet

  • For å konvertere et tall fra desimaltallsystemet til det binære systemet, må det sekvensielt divideres med $2$ til det er en rest mindre enn eller lik $1$. Et tall i det binære systemet er representert som en sekvens av det siste resultatet av divisjon og restene fra divisjon i omvendt rekkefølge.

Eksempel 4

Konverter tallet $22_(10)$ til det binære tallsystemet.

Løsning:

Figur 4.

$22_{10} = 10110_2$

  • For å konvertere et tall fra desimaltallsystemet til oktalt, må det sekvensielt divideres med $8$ til det er en rest mindre enn eller lik $7$. Et tall i det oktale tallsystemet er representert som en sekvens av sifre i det siste divisjonsresultatet og restene fra divisjonen i omvendt rekkefølge.

Eksempel 5

Konverter tallet $571_(10)$ til det oktale tallsystemet.

Løsning:

Figur 5.

$571_{10} = 1073_8$

  • For å konvertere et tall fra desimaltallsystemet til det heksadesimale systemet, må det suksessivt divideres med $16$ til det er en rest mindre enn eller lik $15$. Et tall i det heksadesimale systemet er representert som en sekvens av sifre i det siste divisjonsresultatet og resten av divisjonen i omvendt rekkefølge.

Eksempel 6

Konverter tallet $7467_(10)$ til et heksadesimalt tallsystem.

Løsning:

Figur 6.

$7467_(10) = 1D2B_(16)$

    For å konvertere en riktig brøk fra et desimaltallsystem til et ikke-desimaltallsystem, er det nødvendig å sekvensielt multiplisere brøkdelen av tallet som konverteres med basen til systemet som det skal konverteres til. Brøker i det nye systemet vil bli representert som hele deler av produkter, og starter med den første.

    For eksempel: $0,3125_((10))$ i oktaltallsystem vil se ut som $0,24_((8))$.

    I dette tilfellet kan du støte på et problem når en endelig desimalbrøk kan tilsvare en uendelig (periodisk) brøk i det ikke-desimale tallsystemet. I dette tilfellet vil antall sifre i brøkdelen representert i det nye systemet avhenge av den nødvendige nøyaktigheten. Det bør også bemerkes at heltall forblir heltall, og riktige brøker forblir brøker i ethvert tallsystem.

Regler for å konvertere tall fra et binært tallsystem til et annet

  • For å konvertere et tall fra det binære tallsystemet til oktalt, må det deles inn i treklanger (triadler av siffer), og starter med det minst signifikante sifferet, om nødvendig, legg til nuller til den ledende treklangen, og bytt deretter ut hver triade med det tilsvarende oktale sifferet i henhold til tabell 4.

Figur 7. Tabell 4

Eksempel 7

Konverter tallet $1001011_2$ til det oktale tallsystemet.

Løsning. Ved å bruke tabell 4 konverterer vi tallet fra det binære tallsystemet til oktalt:

$001 001 011_2 = 113_8$

  • For å konvertere et tall fra det binære tallsystemet til heksadesimalt, bør det deles inn i tetrader (fire siffer), og starter med det minst signifikante sifferet, om nødvendig, legger til nuller til den mest signifikante tetraden, og erstatter deretter hver tetrad med det tilsvarende oktale sifferet i henhold til tabell 4.

Resultatet er allerede mottatt!

Tallsystemer

Det finnes posisjonelle og ikke-posisjonelle tallsystemer. Det arabiske tallsystemet som vi bruker i hverdagen, er posisjonell, men Roman er det ikke. I posisjonelle tallsystemer bestemmer posisjonen til et tall unikt størrelsen på tallet. La oss vurdere dette ved å bruke eksemplet med tallet 6372 i desimaltallsystemet. La oss nummerere dette tallet fra høyre til venstre fra null:

Da kan tallet 6372 representeres som følger:

6372=6000+300+70+2 =6·10 3 +3·10 2 +7·10 1 +2·10 0 .

Tallet 10 bestemmer tallsystemet (i dette tilfellet er det 10). Verdiene for posisjonen til et gitt tall tas som potenser.

Tenk på det reelle desimaltallet 1287.923. La oss nummerere det fra null, og plassere tallet fra desimaltegnet til venstre og høyre:

Da kan tallet 1287.923 representeres som:

1287,923 =1000+200+80 +7+0,9+0,02+0,003 = 1·10 3 +2·10 2 +8·10 1 +7·10 0 +9·10 -1 +2·10 -2 +3· 10 -3.

Generelt kan formelen representeres som følger:

C n s n +C n-1 · s n-1 +...+C 1 · s 1 +C 0 ·s 0 +D -1 ·s -1 +D -2 ·s -2 +...+D -k ·s -k

hvor C n er et heltall i posisjon n, D -k - brøktall i posisjon (-k), s- tallsystem.

Noen ord om tallsystemer Et tall i desimaltallsystemet består av mange sifre (0,1,2,3,4,5,6,7,8,9), i det oktale tallsystemet består det av mange sifre. (0,1, 2,3,4,5,6,7), i det binære tallsystemet - fra et sett med sifre (0,1), i det heksadesimale tallsystemet - fra et sett med sifre (0,1 ,2,3,4,5,6, 7,8,9,A,B,C,D,E,F), hvor A,B,C,D,E,F tilsvarer tallene 10,11, 12,13,14,15 I tabellen Tab.1 er tall presentert i ulike systemer Regning

Tabell 1
Notasjon
10 2 8 16
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 EN
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F

Konvertering av tall fra ett tallsystem til et annet

For å konvertere tall fra ett tallsystem til et annet, er den enkleste måten å først konvertere tallet til desimaltallsystemet, og deretter konvertere fra desimaltallsystemet til det nødvendige tallsystemet.

Konvertering av tall fra et hvilket som helst tallsystem til desimaltallsystemet

Ved å bruke formel (1) kan du konvertere tall fra et hvilket som helst tallsystem til desimaltallsystemet.

Eksempel 1. Konverter tallet 1011101.001 fra binært tallsystem (SS) til desimal SS. Løsning:

1 ·2 6 +0 ·2 5 + 1 ·2 4 + 1 ·2 3 + 1 ·2 2 + 0 ·2 1 + 1 ·2 0 + 0 ·2 -1 + 0 ·2 -2 + 1 ·2 -3 =64+16+8+4+1+1/8=93,125

Eksempel2. Konverter tallet 1011101.001 fra oktalt system notasjon (SS) til desimal SS. Løsning:

Eksempel 3 . Konverter tallet AB572.CDF fra heksadesimalt tallsystem til desimal SS. Løsning:

Her EN-erstattet med 10, B- kl 11, C- kl 12, F- innen 15.

Konvertering av tall fra desimaltallsystemet til et annet tallsystem

For å konvertere tall fra desimaltallsystemet til et annet tallsystem, må du konvertere heltallsdelen av tallet og brøkdelen av tallet separat.

Heltallsdelen av et tall konverteres fra desimal SS til et annet tallsystem ved sekvensiell å dele heltallsdelen av tallet med grunntallet av tallsystemet (for binær SS - med 2, for 8-ær SS - med 8, for 16 -ary SS - med 16, etc. ) til en hel rest er oppnådd, mindre enn basen CC.

Eksempel 4 . La oss konvertere tallet 159 fra desimal SS til binær SS:

159 2
158 79 2
1 78 39 2
1 38 19 2
1 18 9 2
1 8 4 2
1 4 2 2
0 2 1
0

Som det fremgår av fig. 1, gir tallet 159 kvoten 79 og resten 1. Videre gir tallet 79 kvoten 39 og resten 1, når de er delt på 2. Som et resultat, ved å konstruere et tall fra divisjonsrester (fra høyre til venstre), får vi et tall i binær SS: 10011111 . Derfor kan vi skrive:

159 10 =10011111 2 .

Eksempel 5 . La oss konvertere tallet 615 fra desimal SS til oktal SS.

615 8
608 76 8
7 72 9 8
4 8 1
1

Når du konverterer et tall fra en desimal SS til en oktal SS, må du sekvensielt dele tallet med 8 til du får en heltallsrest mindre enn 8. Som et resultat av å konstruere et tall fra divisjonsrester (fra høyre til venstre) får vi et tall i en oktal SS: 1147 (se fig. 2). Derfor kan vi skrive:

615 10 =1147 8 .

Eksempel 6 . La oss konvertere tallet 19673 fra desimaltallsystemet til heksadesimalt SS.

19673 16
19664 1229 16
9 1216 76 16
13 64 4
12

Som det fremgår av figur 3, ved suksessivt å dele tallet 19673 med 16, er restene 4, 12, 13, 9. I det heksadesimale tallsystemet tilsvarer tallet 12 C, tallet 13 - D. Derfor er vår heksadesimalt tall- dette er 4CD9.

For å konvertere vanlige desimalbrøker (et reelt tall med en null heltallsdel) til et tallsystem med grunntallet s, trenger du gitt nummer multipliser suksessivt med s til brøkdelen er ren null, eller vi får det nødvendige antallet sifre. Hvis multiplikasjonen resulterer i et tall med en annen heltallsdel enn null, blir ikke denne heltallsdelen tatt i betraktning (de er sekvensielt inkludert i resultatet).

La oss se på ovenstående med eksempler.

Eksempel 7 . La oss konvertere tallet 0,214 fra desimaltallsystemet til binær SS.

0.214
x 2
0 0.428
x 2
0 0.856
x 2
1 0.712
x 2
1 0.424
x 2
0 0.848
x 2
1 0.696
x 2
1 0.392

Som det fremgår av fig. 4, multipliseres tallet 0,214 sekvensielt med 2. Hvis resultatet av multiplikasjonen er et tall med en heltallsdel som ikke er null, skrives heltallsdelen separat (til venstre for tallet). og tallet skrives med en null heltallsdel. Hvis multiplikasjonen resulterer i et tall med null heltallsdel, skrives en null til venstre for det. Multiplikasjonsprosessen fortsetter til brøkdelen når en ren null eller vi får det nødvendige antallet sifre. Ved å skrive fete tall (fig. 4) fra topp til bunn får vi det nødvendige tallet i det binære tallsystemet: 0. 0011011 .

Derfor kan vi skrive:

0.214 10 =0.0011011 2 .

Eksempel 8 . La oss konvertere tallet 0,125 fra desimaltallsystemet til binær SS.

0.125
x 2
0 0.25
x 2
0 0.5
x 2
1 0.0

For å konvertere tallet 0,125 fra desimal SS til binært, multipliseres dette tallet sekvensielt med 2. I det tredje trinnet er resultatet 0. Følgelig oppnås følgende resultat:

0.125 10 =0.001 2 .

Eksempel 9 . La oss konvertere tallet 0,214 fra desimaltallsystemet til heksadesimalt SS.

0.214
x 16
3 0.424
x 16
6 0.784
x 16
12 0.544
x 16
8 0.704
x 16
11 0.264
x 16
4 0.224

Etter eksempel 4 og 5 får vi tallene 3, 6, 12, 8, 11, 4. Men i heksadesimal SS tilsvarer tallene 12 og 11 tallene C og B. Derfor har vi:

0,214 10 =0,36C8B4 16.

Eksempel 10 . La oss konvertere tallet 0,512 fra desimaltallsystemet til oktal SS.

0.512
x 8
4 0.096
x 8
0 0.768
x 8
6 0.144
x 8
1 0.152
x 8
1 0.216
x 8
1 0.728

Mottatt:

0.512 10 =0.406111 8 .

Eksempel 11 . La oss konvertere tallet 159.125 fra desimaltallsystemet til binær SS. For å gjøre dette oversetter vi separat heltallsdelen av tallet (eksempel 4) og brøkdelen av tallet (eksempel 8). Ved å kombinere disse resultatene får vi:

159.125 10 =10011111.001 2 .

Eksempel 12 . La oss konvertere tallet 19673.214 fra desimaltallsystemet til heksadesimalt SS. For å gjøre dette oversetter vi separat heltallsdelen av tallet (eksempel 6) og brøkdelen av tallet (eksempel 9). Videre, ved å kombinere disse resultatene får vi.

For raskt å konvertere tall fra desimaltallsystemet til det binære systemet, må du ha god kjennskap til tallene "2 i potens". For eksempel, 2 10 =1024, osv. Dette lar deg løse noen oversettelseseksempler bokstavelig talt på sekunder. En av disse oppgavene er Oppgave A1 fra USE-demoen 2012. Du kan selvfølgelig bruke lang og kjedelig tid på å dele et tall med "2". Men det er bedre å bestemme seg annerledes, og spare dyrebar tid på eksamen.

Metoden er veldig enkel. Hovedpoenget er dette: hvis tallet som må konverteres fra desimalsystemet er lik tallet "2 i potensen", så inneholder dette tallet i det binære systemet et antall nuller lik potensen. Vi legger til en "1" foran disse nullene.

  • La oss konvertere tallet 2 fra desimalsystemet. 2=2 1. Derfor, i det binære systemet, inneholder et tall 1 null. Vi setter "1" foran og får 10 2.
  • La oss konvertere 4 fra desimalsystemet. 4=2 2. Derfor, i det binære systemet, inneholder et tall 2 nuller. Vi setter "1" foran og får 100 2.
  • La oss konvertere 8 fra desimalsystemet. 8=2 3. Derfor, i det binære systemet, inneholder et tall 3 nuller. Vi setter "1" foran og får 1000 2.


Tilsvarende for andre tall "2 til makten".

Hvis tallet som må konverteres er mindre enn tallet "2 i potensen" med 1, så består dette tallet i det binære systemet bare av enheter, hvis antall er lik potensen.

  • La oss konvertere 3 fra desimalsystemet. 3=2 2 -1. Derfor, i det binære systemet, inneholder et tall 2 enere. Vi får 112.
  • La oss konvertere 7 fra desimalsystemet. 7=2 3 -1. Derfor, i det binære systemet, inneholder et tall 3 enere. Vi får 1112.

På figuren indikerer rutene binær representasjon tall, og til venstre er rosa desimal.


Oversettelsen er lik for andre tall "2 til kraft-1".

Det er klart at oversettelsen av tall fra 0 til 8 kan gjøres raskt eller ved divisjon, eller bare kjenne deres representasjon utenat i det binære systemet. Jeg ga disse eksemplene slik at du forstår prinsippet denne metoden og brukte den til å oversette mer "imponerende tall", for eksempel for å oversette tallene 127,128, 255, 256, 511, 512, etc.

Du kan komme over slike problemer når du trenger å konvertere et tall som ikke er lik tallet "2 til makten", men nær det. Det kan være større eller mindre enn 2 til makten. Forskjellen mellom det oversatte tallet og tallet "2 til makten" skal være liten. For eksempel opptil 3. Representasjonen av tall fra 0 til 3 i det binære systemet må bare være kjent uten oversettelse.

Hvis tallet er større enn , løser vi det slik:

Først konverterer vi tallet "2 til makten" til det binære systemet. Og så legger vi til forskjellen mellom tallet "2 til makten" og tallet som blir oversatt.

La oss for eksempel konvertere 19 fra desimalsystemet. Den flere tall"2 til makten" av 3.

16=2 4 . 16 10 =10000 2 .

3 10 =11 2 .

19 10 =10000 2 +11 2 =10011 2 .

Hvis tallet er mindre enn tallet "2 til makten", er det mer praktisk å bruke tallet "2 til kraften-1". Vi løser det slik:

Først konverterer vi tallet "2 til makt-1" til det binære systemet. Og så trekker vi fra det forskjellen mellom tallet "2 i potensen 1" og tallet som konverteres.

La oss for eksempel konvertere 29 fra desimalsystemet. Det er 2 større enn tallet "2 til makten-1". 29=31-2.

31 10 =11111 2 .

2 10 =10 2 .

29 10 =11111 2 -10 2 =11101 2

Hvis forskjellen mellom tallet som blir oversatt og tallet "2 til makten" er mer enn tre, kan du dele tallet inn i dets komponenter, konvertere hver del til det binære systemet og legge til.

Konverter for eksempel tallet 528 fra desimalsystemet. 528=512+16. Vi oversetter 512 og 16 hver for seg.
512=2 9 . 512 10 =1000000000 2 .
16=2 4 . 16 10 =10000 2 .
La oss nå legge det til i en kolonne: