Hur man konverterar till olika talsystem. Konvertera tal från ett talsystem till ett annat. Binärt talsystem

Metoder för att konvertera tal från ett talsystem till ett annat.

Konvertera tal från ett positionstalssystem till ett annat: konvertera heltal.

För att konvertera ett heltal från ett talsystem med bas d1 till ett annat med bas d2, måste du sekventiellt dividera detta tal och de resulterande kvoterna med basen d2 nytt system tills kvoten är mindre än basen d2. Den sista kvoten är den mest signifikanta siffran i ett tal i det nya talsystemet med bas d2, och siffrorna efter den är rester från division, skrivna i omvänd ordning mot mottagandet. Utför aritmetiska operationer i det talsystem där talet som översätts är skrivet.

Exempel 1. Konvertera talet 11(10) till det binära talsystemet.

Svar: 11(10)=1011(2).

Exempel 2. Konvertera talet 122(10) till det oktala talsystemet.


Svar: 122(10)=172(8).

Exempel 3. Konvertera talet 500(10) till hexadecimalt talsystem.


Svar: 500(10)=1F4(16).

Konvertera tal från ett positionstalssystem till ett annat: omvandling av egentliga bråk.

För att konvertera en egen bråkdel från ett talsystem med bas d1 till ett system med bas d2, är det nödvändigt att sekventiellt multiplicera den ursprungliga bråkdelen och bråkdelarna av de resulterande produkterna med basen i det nya talsystemet d2. Den korrekta bråkdelen av ett tal i det nya talsystemet med bas d2 bildas i form av heltalsdelar av de resulterande produkterna, med början från den första.
Om översättningen resulterar i en bråkdel i form av en oändlig eller divergerande serie, kan processen slutföras när den erforderliga noggrannheten har uppnåtts.

När man översätter blandade tal är det nödvändigt att separat översätta heltals- och bråkdelarna till ett nytt system enligt reglerna för översättning av heltal och egenbråk, och sedan kombinera båda resultaten till ett blandat tal i det nya talsystemet.

Exempel 1. Konvertera talet 0,625(10) till det binära talsystemet.


Svar: 0,625(10)=0,101(2).

Exempel 2. Konvertera talet 0,6(10) till det oktala talsystemet.


Svar: 0,6(10)=0,463(8).

Exempel 2. Konvertera talet 0,7(10) till hexadecimalt talsystem.


Svar: 0,7(10)=0,B333(16).

Konvertera binära, oktala och hexadecimala tal till decimaltalssystem.

För att konvertera ett tal från P-systemet till ett decimaltal måste du använda följande expansionsformel:
anan-1...а1а0=аnPn+ аn-1Pn-1+...+ а1P+a0 .

Exempel 1. Konvertera talet 101.11(2) till decimaltalsystemet.

Svar: 101.11(2)= 5.75(10) .

Exempel 2. Konvertera talet 57.24(8) till decimaltalssystemet.

Svar: 57.24(8) = 47.3125(10) .

Exempel 3. Konvertera talet 7A,84(16) till decimaltalsystemet.

Svar: 7A.84(16)= 122.515625(10) .


Konvertering av oktala och hexadecimala tal till det binära talsystemet och vice versa.

För att konvertera ett tal från det oktala talsystemet till binärt, måste varje siffra i detta tal skrivas som ett tresiffrigt binärt tal (triad).

Exempel: skriv talet 16.24(8) i det binära talsystemet.


Svar: 16.24(8)= 1110.0101(2) .

För att konvertera ett binärt tal tillbaka till det oktala talsystemet måste du dela upp det ursprungliga talet i treklanger till vänster och höger om decimalkomma och representera varje grupp med en siffra i det oktala talsystemet. Extrema ofullständiga treklanger kompletteras med nollor.

Exempel: skriv talet 1110.0101(2) i det oktala talsystemet.


Svar: 1110.0101(2)= 16.24(8) .

För att konvertera ett tal från det hexadecimala talsystemet till det binära systemet måste du skriva varje siffra i detta tal som ett fyrsiffrigt binärt tal (tetrad).

Exempel: skriv talet 7A,7E(16) i det binära talsystemet.


Svar: 7A,7E(16)= 1111010.0111111(2) .

Notera: inledande nollor till vänster för heltal och till höger för bråk skrivs inte.

För att konvertera ett binärt tal tillbaka till det hexadecimala talsystemet måste du dela upp det ursprungliga talet i tetrader till vänster och höger om decimalkomma och representera varje grupp med en siffra i det hexadecimala talsystemet. Extrema ofullständiga treklanger kompletteras med nollor.

Exempel: skriv numret 1111010.0111111(2) i hexadecimalt talsystem.

Från 16 eller 8 till 2

Översättning oktal Och hexadecimal tal till binärt system mycket enkelt: ersätt bara varje siffra med dess binära motsvarighet triad(tre siffror) eller anteckningsbok(fyra siffror) (se tabell).
Binär (Radise 2) Oktal (bas 8) Decimal (bas 10) Hexadecimal (bas 16)
triader tetrads
0 1 0 1 2 3 4 5 6 7 000 001 010 011 100 101 110 111 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 A B C D E F 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

Till exempel:

a) Översätt 305.4 8 "2" s.s.

b) Översätt 7B2.E 16 "2" s.s.

16A 16 =1 0110 1010 2 345 8 =11 100 101 2

Från 2 till 16 eller 8

Till exempel:

a) Översätt 1101111001.1101 2 "8" s.s.

b) Översätt 11111111011.100111 2 "16" s.s.

1000101010010101 2 =1000 1010 1001 0101=8A95 16 = 1 000 101 010 010 101=105225 8

Från 16 till 8 och tillbaka

Omvandling från oktal till hexadecimal och tillbaka utförs genom det binära systemet med hjälp av triader och tetrader.

Till exempel:

Översätt 175.24 8 "16" s.s.

Resultat: 175.24 8 = 7D.5 16.

Från 10 till valfritt s.s.

Till exempel:

a) Översätt 181 10 "8" s.s.

Resultat: 181 10 = 265 8

b) Översätt 622 10 "16" s.s.

Resultat: 622 10 = 26E 16

Översättning av korrekta bråk
För att översätta rätt decimal till ett annat system måste denna bråkdel multipliceras sekventiellt med basen av systemet till vilket den överförs. I detta fall multipliceras endast bråkdelar. Bråk i det nya systemet skrivs i form av hela delar av produkter, med början från den första.

Till exempel:

Konvertera 0,3125 10 "8" s.s.

Resultat: 0,3125 10 = 0,24 8

Kommentar. Ett sista decimalbråk i ett annat talsystem kan motsvara en oändlig (ibland periodisk) bråkdel. I det här fallet tas antalet tecken i representationen av en bråkdel i det nya systemet beroende på den nödvändiga noggrannheten.

Till exempel:

Konvertera 0,65 10 "2" s.s. Noggrannhet 6 siffror.

Resultat: 0,65 10 0,10(1001) 2

Att konvertera ett felaktigt decimaltal till ett talsystem med en icke-decimal bas Det är nödvändigt att översätta hela delen och bråkdelen separat.

Till exempel:

Översätt 23.125 10 "2" s.s.

Således: 23 10 = 10111 2 ; 0,125 10 = 0,001 2.
Resultat: 23,125 10 = 10111,001 2.

Det bör noteras att heltal förblir heltal, och riktiga bråk förblir bråk i vilket talsystem som helst.

Från 2, 8 eller 16 till 10

Till exempel:

a)10101101.101 2 = 1 2 7 + 0 2 6 + 1 2 5 + 0 2 4 + 1 2 3 + 1 2 2 + 0 2 1 + 1 2 0 + 1 2 -1 + 0 2 -2 + 1 2 - 3 = 173,625 10

b) Översätt 703.04 8 "10" s.s.

703.04 8 = 7 8 2 + 0 8 1 + 3 8 0 + 0 8 -1 + 4 8 -2 = 451.0625 10

c) Översätt B2E.4 16 "10" s.s.

B2E.4 16 = 11 16 2 + 2 16 1 + 14 16 0 + 4 16 -1 = 2862,25 10

Schema för att konvertera tal från ett nummersystem till ett annat


Aritmetiska operationer i positionstalssystem

Låt oss titta på de grundläggande aritmetiska operationerna: addition, subtraktion, multiplikation och division. Reglerna för att utföra dessa operationer i decimalsystemet är välkända - dessa är addition, subtraktion, multiplikation med en kolumn och division med en vinkel. Dessa regler gäller för alla andra positionsnummersystem. Endast additions- och multiplikationstabeller får användas specifikt för varje system.

Tillägg

Vid addering summeras talen med siffror, och om det finns ett överskott överförs det till vänster

När binära tal läggs till i varje siffra läggs termernas siffror till och överförs från den intilliggande siffran med låg ordning, om någon. Det är nödvändigt att ta hänsyn till att 1+1 ger en nolla i en given siffra och en bärenhet till nästa.

Till exempel:

Utför addition av binära tal:
a) X=1101, Y=101;

Resultat 1101+101=10010.

b) X=1101, Y=101, Z=111;

Resultat 1101+101+111=11001.

Tilläggstabell i 8:e talsystemet

2+2=4 3+2=5 4+2=6 5+2=7 6+2=10 7+2=11
2+3=5 3+3=6 4+3=7 5+3=10 6+3=11 7+3=12
2+4=6 3+4=7 4+4=10 5+4=11 6+4=12 7+4=13
2+5=7 3+5=10 4+5=11 5+5=12 6+5=13 7+5=14
2+6=10 3+6=11 4+6=12 5+6=13 6+6=14 7+6=15
2+7=11 3+7=12 4+7=13 5+7=14 6+7=15 7+7=16

Tilläggstabell i 16:e talsystemet

+ A B C D E F
A B C D E F
A B C D E F
A B C D E F
A B C D E F
A B C D E F
A B C D E F
A B C D E F
A B C D E F
A B C D E F
A B C D E F
A A B C D E F
B B C D E F 1A
C C D E F 1A IB
D D E F 1A IB 1C
E E F 1A IB 1C 1D
F F 1A IB 1C 1D 1E

För att konvertera tal från ett talsystem till ett annat måste du ha grundläggande information om talsystem och formen för representation av tal i dem.

Kvantitet s Antalet olika siffror som används i ett talsystem kallas basen, eller basen av talsystemet. I allmänhet ett positivt tal X i ett positionssystem med bas s kan representeras som ett polynom:

Där s- talsystemets bas, - antal tillåtna i ett givet talsystem. Sekvensen utgör en hel del X, och sekvensen är bråkdelen X.

Inom databehandling är de mest använda binära (BIN - binära) och binärkodade talsystem: oktalt (OCT - oktalt), hexadecimalt (HEX - hexadecimalt) och binärt kodat decimalt (BCD - binärt kodat decimalt).

I framtiden, för att indikera det använda siffersystemet, kommer numret att stå inom parentes och basen av systemet kommer att anges i indexet. Antal X baserat på s kommer att anges.

Binärt talsystem

Basen i talsystemet är talet 2 ( s= 2) och endast två siffror används för att skriva siffror: 0 och 1. För att representera vilken siffra som helst i ett binärt tal räcker det med ett fysiskt element med två klart olika stabila tillstånd, varav en representerar 1 och den andra 0 .

Innan du börjar konvertera från valfritt talsystem till binärt, måste du noggrant studera ett exempel på hur du skriver ett tal i det binära talsystemet:

Om du inte behöver gå djupt in i teorin, utan bara behöver få resultatet, använd då Online-kalkylator Konvertera heltal från decimaltalsystemet till andra system .

Oktala och hexadecimala talsystem

Dessa talsystem är binärkodade, där basen i talsystemet är en heltalspotens av två: - för oktalt och - för hexadecimalt.

I det oktala talsystemet( s= 8) 8 siffror används: 0, 1, 2, 3, 4, 5, 6, 7.

Innan du börjar konvertera från valfritt talsystem till oktalt, måste du noggrant studera ett exempel på att skriva ett tal i det oktala systemet:

I hexadecimalt talsystem ( s= 16) 16 siffror används: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.

Ett exempel på att skriva ett tal i hexadecimal:

Den utbredda användningen av oktala och hexadecimala talsystem beror på två faktorer.

För det första låter dessa system dig ersätta notationen för ett binärt tal med en mer kompakt representation (notationen för ett tal i oktala och hexadecimala system kommer att vara 3 respektive 4 gånger kortare än den binära notationen för detta tal). För det andra är den ömsesidiga omvandlingen av tal mellan det binära systemet å ena sidan och de oktala och hexadecimala systemen å andra sidan relativt enkel. Faktum är att eftersom för ett oktalt tal varje siffra representeras av en grupp med tre binära siffror (triader), och för ett hexadecimalt tal - av en grupp med fyra binära siffror (tetrader), räcker det för att konvertera ett binärt tal att kombinera dess siffror i grupper om 3 respektive 4 siffror, som flyttas från kommatecken till höger och vänster. I detta fall, om nödvändigt, läggs nollor till till vänster om heltalsdelen och/eller till höger om bråkdelen och varje sådan grupp - triad eller tetrad - ersätts med en ekvivalent oktal eller hexadecimal siffra (se tabell).

Om du inte behöver gå djupt in i teorin, utan bara behöver få resultatet, använd då Online-kalkylator Konvertera heltal från decimaltalsystemet till andra system .

Överensstämmelse mellan siffror i olika talsystem
DEC BIN OKT HEX BCD
0 0000 0 0 0000
1 0001 1 1 0001
2 0010 2 2 0010
3 0011 3 3 0011
4 0100 4 4 0100
5 0101 5 5 0101
6 0110 6 6 0110
7 0111 7 7 0111
8 1000 10 8 1000
9 1001 11 9 1001
10 1010 12 A 0001 0000
11 1011 13 B 0001 0001
12 1100 14 C 0001 0010
13 1101 15 D 0001 0011
14 1110 16 E 0001 0100
15 1111 17 F 0001 0101

För omvänd översättning ersätts varje OCT- eller HEX-siffra med en triad eller tetrad av binära siffror, med obetydliga nollor till vänster och höger.

För de exempel som diskuterats tidigare ser detta ut så här:

Om du inte behöver gå djupt in i teorin, utan bara behöver få resultatet, använd då Online-kalkylator Konvertera heltal från decimaltalsystemet till andra system .

Binärt decimaltalssystem

I BCD-systemet är vikten av varje siffra lika med en potens av 10, som i decimalsystemet, och varje decimalsiffra kodas av fyra binära siffror. För att skriva ett decimaltal i BCD-systemet räcker det att ersätta varje decimalsiffra motsvarande fyrsiffrig binär kombination:

Några decimaltal kan representeras i BCD-notation, men kom ihåg att detta inte är den binära motsvarigheten till ett tal. Detta kan ses från följande exempel:

Konvertera tal från ett talsystem till ett annat

Låta X- ett tal i ett talsystem med en bas s, som måste representeras i ett system med en bas h. Det är bekvämt att skilja två fall.

I det första fallet och därför när du flyttar till basen h du kan använda aritmetiken för detta system. Omvandlingsmetoden består av att representera talet som ett polynom i potenser s, såväl som vid beräkningen av detta polynom enligt aritmetikreglerna för radixtalsystemet h. Det är till exempel bekvämt att byta från det binära eller oktala talsystemet till det decimala talsystemet. Den beskrivna tekniken illustreras av följande exempel:

.

.

I båda fallen utförs aritmetiska operationer enligt reglerna för bas 10-talsystemet.

I det andra fallet () är det bekvämare att använda radixaritmetik s. Det bör beaktas här att översättningen av heltal och egentliga fraktioner utförs enligt olika regler. Vid överföring blandade fraktioner heltals- och bråkdelarna översätts var och en enligt sina egna regler, varefter de resulterande talen skrivs åtskilda med kommatecken.

Heltalskonvertering

Reglerna för att konvertera heltal framgår av allmän formel skriva ett tal i ett godtyckligt positionssystem. Låt numret vara i det ursprungliga siffersystemet s ser ut som. Du behöver få ett tal skrivet i ett talsystem med en bas h:

.

För att hitta värdena, dividera detta polynom med h:

.

Som du kan se är den minst signifikanta siffran, det vill säga lika med den första resten. Nästa signifikanta siffra bestäms genom att dividera kvoten med h:

.

Resten beräknas också genom att dividera kvoterna tills det är lika med noll.

För att konvertera ett heltal från s-ary-talsystemet till h-ary-talsystemet, är det nödvändigt att sekventiellt dividera detta tal och de resulterande kvoterna med h (enligt reglerna för talsystemet med basen h) tills kvoten blir lika med noll. Den mest signifikanta siffran i notationen av ett tal med basen h är den sista resten, och siffrorna efter den bildar resterna från tidigare divisioner, skrivna i omvänd ordning mot mottagandet.

1. Ordinalräkning i olika talsystem.

I det moderna livet vi använder positionsnummersystem, det vill säga system där talet som betecknas med en siffra beror på siffrans position i numrets notation. Därför kommer vi i framtiden bara att prata om dem och utelämna termen "positionell".

För att lära oss hur man konverterar tal från ett system till ett annat kommer vi att förstå hur sekventiell registrering av tal sker med exemplet med decimalsystemet.

Eftersom vi har ett decimaltalssystem har vi 10 symboler (siffror) för att konstruera tal. Vi börjar räkna: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Siffrorna är slut. Vi ökar bitdjupet för numret och återställer den låga siffran: 10. Sedan ökar vi den låga siffran igen tills alla siffror är borta: 11, 12, 13, 14, 15, 16, 17, 18, 19. Vi ökar den höga siffran med 1 och återställer den låga siffran: 20. När vi använder alla siffrorna för båda siffrorna (vi får siffran 99), ökar vi återigen sifferkapaciteten för numret och återställer befintliga siffror: 100. Och så vidare.

Låt oss försöka göra samma sak i det andra, tredje och femte systemet (vi introducerar notationen för det andra systemet, för det tredje, etc.):

0 0 0 0
1 1 1 1
2 10 2 2
3 11 10 3
4 100 11 4
5 101 12 10
6 110 20 11
7 111 21 12
8 1000 22 13
9 1001 100 14
10 1010 101 20
11 1011 102 21
12 1100 110 22
13 1101 111 23
14 1110 112 24
15 1111 120 30

Om talsystemet har en bas som är större än 10, måste vi ange ytterligare tecken, det är vanligt att ange bokstäver i det latinska alfabetet. Till exempel, för det 12-siffriga systemet, förutom tio siffror, behöver vi två bokstäver ( och ):

0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10
11
12 10
13 11
14 12
15 13

2. Konvertering från decimaltalsystemet till något annat.

För att konvertera ett positivt heltals decimaltal till ett talsystem med en annan bas, måste du dividera detta tal med basen. Dela den resulterande kvoten med basen igen och vidare tills kvoten är mindre än basen. Som ett resultat, skriv ner den sista kvoten och alla rester på en rad, med början från den sista.

Exempel 1. Låt oss konvertera decimaltalet 46 till det binära talsystemet.

Exempel 2. Låt oss konvertera decimaltalet 672 till det oktala talsystemet.

Exempel 3. Låt oss konvertera decimaltalet 934 till det hexadecimala talsystemet.

3. Konvertering från valfritt talsystem till decimal.

För att lära oss hur man konverterar tal från vilket annat system som helst till decimal, låt oss analysera den vanliga notationen för ett decimaltal.
Till exempel är decimaltalet 325 5 enheter, 2 tiotal och 3 hundra, d.v.s.

Situationen är exakt densamma i andra talsystem, bara vi multiplicerar inte med 10, 100, etc., utan med potenserna i talsystemets bas. Låt oss till exempel ta numret 1201 i det ternära nummersystemet. Låt oss numrera siffrorna från höger till vänster med början från noll och föreställa oss vårt tal som summan av produkterna av en siffra och tre till potensen av siffran i numret:

Detta är decimalnotationen för vårt tal, dvs.

Exempel 4. Låt oss konvertera det oktala talet 511 till decimaltalssystemet.

Exempel 5. Låt oss konvertera det hexadecimala talet 1151 till det decimala talsystemet.

4. Konvertering från det binära systemet till systemet med basen "tvåpotens" (4, 8, 16, etc.).

För att omvandla ett binärt tal till ett tal med en potens av två baser, är det nödvändigt att dela upp den binära sekvensen i grupper enligt antalet siffror lika med potensen från höger till vänster och ersätta varje grupp med motsvarande siffra i den nya nummersystem.

Låt oss till exempel konvertera det binära talet 1100001111010110 till det oktala systemet. För att göra detta kommer vi att dela upp den i grupper med 3 tecken från höger (sedan ), och sedan använda korrespondenstabellen och ersätta varje grupp med ett nytt nummer:

Vi lärde oss hur man bygger en korrespondenstabell i steg 1.

0 0
1 1
10 2
11 3
100 4
101 5
110 6
111 7

Dessa.

Exempel 6. Låt oss konvertera det binära talet 1100001111010110 till hexadecimalt.

0 0
1 1
10 2
11 3
100 4
101 5
110 6
111 7
1000 8
1001 9
1010 A
1011 B
1100 C
1101 D
1110 E
1111 F

5. Konvertering från ett system med basen "tvåpotens" (4, 8, 16, etc.) till binärt.

Denna översättning liknar den föregående, gjord i baksidan: Vi ersätter varje siffra med en grupp binära siffror från uppslagstabellen.

Exempel 7. Låt oss konvertera det hexadecimala talet C3A6 till det binära talsystemet.

För att göra detta, ersätt varje siffra i numret med en grupp med 4 siffror (sedan ) från korrespondenstabellen, komplettera gruppen med nollor i början om det behövs:



De som tar Unified State Exam och mer...

Det är konstigt att de i skolor, under datavetenskapslektioner, vanligtvis visar eleverna det mest komplexa och obekväma sättet att konvertera tal från ett system till ett annat. Denna metod består av att sekventiellt dividera det ursprungliga numret med basen och samla in resten av divisionen i omvänd ordning.

Till exempel måste du konvertera talet 810 10 till binärt:

Vi skriver resultatet i omvänd ordning från botten till toppen. Det visar sig 81010 = 11001010102

Om du behöver konvertera till det binära systemet, helt stora siffror, då antar delningsstegen storleken på en flervåningsbyggnad. Och hur kan du samla alla ettor och nollor och inte missa en enda?

Unified State Exam-programmet i datavetenskap innehåller flera uppgifter relaterade till att konvertera tal från ett system till ett annat. Vanligtvis är detta en omvandling mellan oktala och hexadecimala system och binära system. Dessa är sektionerna A1, B11. Men det finns även problem med andra nummersystem, som i avsnitt B7.

Låt oss till att börja med påminna om två tabeller som skulle vara bra att kunna utantill för dem som väljer datavetenskap som sitt framtida yrke.

Tabell över potenser för nummer 2:

2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 2 10
2 4 8 16 32 64 128 256 512 1024

Det erhålls enkelt genom att multiplicera det föregående talet med 2. Så om du inte kommer ihåg alla dessa siffror är resten inte svårt att få i ditt sinne från de du kommer ihåg.

Tabell med binära tal från 0 till 15 med hexadecimal representation:

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
0 1 2 3 4 5 6 7 8 9 A B C D E F

De saknade värdena är också lätta att beräkna genom att lägga till 1 till de kända värdena.

Heltalskonvertering

Så låt oss börja med att konvertera direkt till det binära systemet. Låt oss ta samma nummer 810 10. Vi måste dekomponera detta tal i termer lika med två potenser.

  1. Vi letar efter kraften hos två närmast 810 och som inte överstiger den. Detta är 2 9 = 512.
  2. Subtrahera 512 från 810, vi får 298.
  3. Upprepa steg 1 och 2 tills det inte finns några 1:or eller 0:or kvar.
  4. Vi fick det så här: 810 = 512 + 256 + 32 + 8 + 2 = 2 9 + 2 8 + 2 5 + 2 3 + 2 1.
Sedan finns det två metoder, du kan använda vilken som helst av dem. Hur lätt det är att se att i vilket talsystem som helst dess bas alltid är 10. Basens kvadrat kommer alltid att vara 100, kuben 1000. Det vill säga graden av basen i talsystemet är 1 (ett), och det finns lika många nollor bakom som graden är.

Metod 1: Ordna 1 enligt siffrorna i termernas indikatorer. I vårt exempel är dessa 9, 8, 5, 3 och 1. De återstående platserna kommer att innehålla nollor. Så vi fick den binära representationen av talet 810 10 = 1100101010 2. Enheter placeras på 9:e, 8:e, 5:e, 3:e och 1:a platserna, räknat från höger till vänster från noll.

Metod 2: Låt oss skriva termerna som två potenser under varandra, börja med den största.

810 =

Låt oss nu lägga till dessa steg tillsammans, som att vika en fläkt: 1100101010.

Det är allt. Samtidigt är problemet "hur många enheter finns i den binära representationen av talet 810" också helt enkelt löst.

Svaret är lika många som det finns termer (tvåpotenser) i denna representation. 810 har 5 av dem.

Nu är exemplet enklare.

Låt oss konvertera talet 63 till det 5-ära talsystemet. Den närmaste potensen av 5 till 63 är 25 (ruta 5). En kub (125) blir redan mycket. Det vill säga, 63 ligger mellan kvadraten på 5 och kuben. Sedan väljer vi koefficienten för 5 2. Det här är 2.

Vi får 63 10 = 50 + 13 = 50 + 10 + 3 = 2 * 5 2 + 2 * 5 + 3 = 223 5.

Och, slutligen, mycket enkla översättningar mellan 8 och hexadecimala system. Eftersom deras bas är en potens av två, görs översättningen automatiskt, helt enkelt genom att ersätta talen med deras binära representation. För det oktala systemet ersätts varje siffra med tre binära siffror och för det hexadecimala systemet fyra. I detta fall krävs alla inledande nollor, förutom den mest signifikanta siffran.

Låt oss konvertera talet 547 8 till binärt.

547 8 = 101 100 111
5 4 7

En till, till exempel 7D6A 16.

7D6A 16 = (0)111 1101 0110 1010
7 D 6 A

Låt oss konvertera talet 7368 till det hexadecimala systemet Skriv först talen i trillingar och dela dem sedan i fyrdubblar från slutet: 736 8 = 111 011 110 = 1 1101 1110 = 1DE 16. Låt oss konvertera talet C25 16 till det oktala systemet. Först skriver vi talen i fyror och delar sedan upp dem i treor från slutet: C25 16 = 1100 0010 0101 = 110 000 100 101 = 6045 8. Låt oss nu titta på att konvertera tillbaka till decimal. Det är inte svårt, det viktigaste är att inte göra misstag i beräkningarna. Vi expanderar talet till ett polynom med potenser av basen och koefficienter för dem. Sedan multiplicerar vi och adderar allt. E68 16 = 14 * 16 2 + 6 * 16 + 8 = 3688. 732 8 = 7 * 8 2 + 3*8 + 2 = 474 .

Konvertera negativa tal

Här måste du ta hänsyn till att numret kommer att presenteras i tvås komplementkod. För att konvertera ett nummer till ytterligare kod behöver du veta den slutliga storleken på numret, det vill säga vad vi vill passa in i - i en byte, i två byte, i fyra. Den mest signifikanta siffran i ett tal betyder tecknet. Om det finns 0 så är talet positivt, om 1 så är det negativt. Till vänster är numret kompletterat med en teckensiffra. Vi betraktar inte siffror utan tecken de är alltid positiva, och den viktigaste biten i dem används som information.

För att konvertera ett negativt tal till binärts komplement måste du konvertera ett positivt tal till binärt och sedan ändra nollorna till ettor och ettorna till nollor. Lägg sedan till 1 till resultatet.

Så låt oss konvertera talet -79 till det binära systemet. Numret tar en byte.

Vi konverterar 79 till det binära systemet, 79 = 1001111. Vi adderar nollor till vänster till storleken på byten, 8 bitar, vi får 01001111. Vi ändrar 1 till 0 och 0 till 1. Vi får 10110000. Vi adderar 1 till resultatet får vi svaret 10110001. Längs vägen svarar vi Unified State Exam-fråga"hur många ettor finns i den binära representationen av talet -79?" Svaret är 4.

Att lägga till 1 till inversen av ett tal eliminerar skillnaden mellan representationerna +0 = 00000000 och -0 = 11111111. I tvås komplementkod kommer de att skrivas på samma sätt som 00000000.

Konvertera bråktal

Bråktal omvandlas på det omvända sättet att dividera heltal med basen, vilket vi tittade på i början. Det vill säga att använda sekventiell multiplikation med en ny bas med samlingen av hela delar. Heltalsdelarna som erhålls under multiplikation samlas in, men deltar inte i följande operationer. Endast bråktal multipliceras. Om det ursprungliga numret är större än 1, översätts heltals- och bråkdelen separat och limmas sedan ihop.

Låt oss konvertera talet 0,6752 till det binära systemet.

0 ,6752
*2
1 ,3504
*2
0 ,7008
*2
1 ,4016
*2
0 ,8032
*2
1 ,6064
*2
1 ,2128

Processen kan fortsätta under lång tid tills vi får alla nollor i bråkdelen eller den erforderliga noggrannheten uppnås. Låt oss stanna vid den 6:e skylten för tillfället.

Det visar sig 0,6752 = 0,101011.

Om talet var 5,6752 blir det i binärt 101,101011.



Dela