Med denna online-kalkylator kan du konvertera heltal och bråktal från ett talsystem till ett annat. En detaljerad lösning med förklaringar ges. För att översätta, ange det ursprungliga numret, ställ in basen för nummersystemet för det ursprungliga numret, ställ in basen för det talsystem som du vill konvertera numret till och klicka på knappen "Översätt". Se den teoretiska delen och sifferexempel nedan.
Resultatet är redan mottaget!
Det finns positionella och icke-positionella nummersystem. Det arabiska talsystemet som vi använder i vardagen är positionellt, medan det romerska inte är det. I positionssystem Vid beräkning bestämmer positionen för ett nummer unikt storleken på talet. Överväg detta med exemplet med talet 6372 i decimaltalssystemet. Låt oss numrera detta nummer från höger till vänster från noll:
Då kan numret 6372 representeras enligt följande:
6372=6000+300+70+2 =6 10 3 +3 10 2 +7 10 1 +2 10 0 .
Siffran 10 definierar talsystemet (i det här fallet det är 10). Värdena för positionen för det givna numret tas som grader.
Tänk på det reella decimaltalet 1287.923. Vi numrerar det från nollpositionen för talet från decimalkomma till vänster och till höger:
Då kan numret 1287.923 representeras 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 .
I allmänhet kan formeln representeras enligt följande:
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
där Cn är ett heltal i position n, D -k - bråktal i position (-k), s- nummersystem.
Några ord om talsystem Ett tal i decimaltalssystemet består av en uppsättning siffror (0,1,2,3,4,5,6,7,8,9), i det oktala talsystemet består det av en uppsättning siffror (0,1, 2,3,4,5,6,7), i det binära systemet - från uppsättningen siffror (0.1), i det hexadecimala talsystemet - från uppsättningen av siffror (0, 1,2,3,4,5,6, 7,8,9,A,B,C,D,E,F), där A,B,C,D,E,F motsvarar siffrorna 10,11, 12, 13, 14, 15. I tabell 1 presenteras siffror i olika system beräkning.
bord 1 | |||
---|---|---|---|
Notation | |||
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 | A |
11 | 1011 | 13 | B |
12 | 1100 | 14 | C |
13 | 1101 | 15 | D |
14 | 1110 | 16 | E | 15 | 1111 | 17 | F |
För att översätta siffror från ett talsystem till ett annat är det enklaste sättet att först konvertera talet till det decimala talsystemet och sedan, från det decimala talsystemet, översätta det till det önskade talsystemet.
Med formel (1) kan du konvertera tal från valfritt talsystem till decimaltalssystem.
Exempel 1. Konvertera talet 1011101.001 från binärt talsystem (SS) till decimal SS. Lösning:
1 2 6 +0 2 5 + 1 2 4 + 1 2 3 + 1 2 2 + 0 2 1 + 1 20+ 0 2-1+ 0 2-2+ 1 2-3 =64+16+8+4+1+1/8=93,125
Exempel2. Konvertera talet 1011101.001 från oktalt talsystem (SS) till decimalt SS. Lösning:
Exempel 3 . Konvertera talet AB572.CDF från hexadecimal till decimal SS. Lösning:
Här A-ersatt med 10, B- vid 11, C- vid 12, F- vid 15.
För att konvertera tal från ett decimaltalssystem till ett annat talsystem måste du översätta heltalsdelen av talet och bråkdelen av talet separat.
Heltalsdelen av talet översätts från decimalen SS till ett annat talsystem - genom att successivt dividera heltalsdelen av talet med basen av talsystemet (för binär SS - med 2, för 8-siffrig SS - med 8, för 16-siffriga - med 16, etc. ) för att få en hel återstod, mindre än basen av SS.
Exempel 4 . Låt oss översätta talet 159 från decimal SS till 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 framgår av fig. 1 ger talet 159, när det divideras med 2, kvoten 79 och resten är 1. Vidare ger talet 79, när det divideras med 2, kvoten 39 och resten är 1, och så vidare. Som ett resultat, genom att konstruera ett tal från resten av divisionen (från höger till vänster), får vi ett tal i binär SS: 10011111 . Därför kan vi skriva:
159 10 =10011111 2 .
Exempel 5 . Låt oss konvertera talet 615 från decimal SS till oktal SS.
615 | 8 | ||
608 | 76 | 8 | |
7 | 72 | 9 | 8 |
4 | 8 | 1 | |
1 |
När du konverterar ett tal från decimal SS till oktal SS måste du sekventiellt dividera talet med 8 tills du får en heltalsrest mindre än 8. Som ett resultat av detta bygger vi ett tal från resten av divisionen (från höger till vänster) få ett nummer i oktal SS: 1147 (se fig. 2). Därför kan vi skriva:
615 10 =1147 8 .
Exempel 6 . Låt oss översätta talet 19673 från decimaltalsystemet till hexadecimalt SS.
19673 | 16 | ||
19664 | 1229 | 16 | |
9 | 1216 | 76 | 16 |
13 | 64 | 4 | |
12 |
Som framgår av figur 3, genom att successivt dividera talet 19673 med 16, fick vi resten 4, 12, 13, 9. I det hexadecimala talsystemet motsvarar talet 12 C, talet 13 - D. Därför, vårt hexadecimala nummer är 4CD9.
För att konvertera korrekta decimaler (ett reellt tal med noll heltalsdel) till ett talsystem med basen s behöver du givet nummer multiplicera successivt med s tills bråkdelen är en ren nolla, eller så får vi det nödvändiga antalet siffror. Om multiplikationen resulterar i ett tal med en annan heltalsdel än noll, så tas inte hänsyn till denna heltalsdel (de ingår sekventiellt i resultatet).
Låt oss titta på ovanstående med exempel.
Exempel 7 . Låt oss översätta talet 0,214 från decimaltalsystemet till 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 framgår av fig.4 multipliceras talet 0,214 successivt med 2. Om resultatet av multiplikationen är ett tal med en heltalsdel som inte är noll, så skrivs heltalsdelen separat (till vänster om talet), och talet skrivs med en noll heltalsdel. Om, vid multiplicering, ett tal med en heltalsdel på noll erhålls, skrivs noll till vänster om det. Multiplikationsprocessen fortsätter tills en ren nolla erhålls i bråkdelen eller det erforderliga antalet siffror erhålls. Genom att skriva feta siffror (fig. 4) uppifrån och ned får vi det nödvändiga talet i det binära systemet: 0. 0011011 .
Därför kan vi skriva:
0.214 10 =0.0011011 2 .
Exempel 8 . Låt oss översätta talet 0,125 från decimaltalsystemet till det binära SS.
0.125 | ||
x | 2 | |
0 | 0.25 | |
x | 2 | |
0 | 0.5 | |
x | 2 | |
1 | 0.0 |
För att konvertera talet 0,125 från decimal SS till binärt multipliceras detta tal successivt med 2. I det tredje steget erhölls 0. Därför erhölls följande resultat:
0.125 10 =0.001 2 .
Exempel 9 . Låt oss översätta talet 0,214 från decimaltalsystemet till hexadecimalt 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 |
Efter exempel 4 och 5 får vi talen 3, 6, 12, 8, 11, 4. Men i hexadecimal SS motsvarar talen C och B talen 12 och 11. Därför har vi:
0,214 10 =0,36C8B4 16 .
Exempel 10 . Låt oss översätta talet 0,512 från decimaltalsystemet till det oktala 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 |
Fick:
0.512 10 =0.406111 8 .
Exempel 11 . Låt oss översätta talet 159,125 från decimaltalsystemet till binär SS. För att göra detta översätter vi separat heltalsdelen av talet (exempel 4) och bråkdelen av talet (exempel 8). Genom att kombinera dessa resultat får vi:
159.125 10 =10011111.001 2 .
Exempel 12 . Låt oss översätta talet 19673.214 från decimaltalsystemet till hexadecimalt SS. För att göra detta översätter vi separat heltalsdelen av talet (exempel 6) och bråkdelen av talet (exempel 9). Genom att ytterligare kombinera dessa resultat får vi.
Låt oss komma ihåg hur vi lägger till tal på det sätt vi redan är vana vid, i decimal.
Det viktigaste är att förstå leden. Kom ihåg alfabetet för varje SS och då blir det lättare för dig.
Addition i binärt skiljer sig inte från addition i decimal. Det viktigaste att komma ihåg är att alfabetet bara innehåller två siffror: 0 och 1. Därför, när vi lägger till 1 + 1, får vi 0, och ökar siffran med ytterligare 1 siffra. Titta på exemplet ovan:
Vi analyserade ett exempel, lös det andra själv:
Precis som i alla andra talsystem måste du komma ihåg alfabetet. Låt oss försöka lägga till uttrycket.
Gör nu tillägget själv:
Låt oss komma ihåg hur vi gör det i decimaltalssystemet.
Bestäm nu själv:
Låt oss ta det föregående exemplet och se vad resultatet är i hexadecimal. Samma eller olika?
Exempel på självlösning:
Låt oss komma ihåg en gång för alla att multiplikation i valfritt talsystem med ett alltid kommer att ge samma tal.
I binär är multiplikation mycket lätt. Vi multiplicerar alltid antingen med 0 eller med ett. Det viktigaste är att vika försiktigt. Låt oss försöka.
Exempel på självlösning:
Exempel på självlösning:
Allt är som vanligt, det viktigaste är att komma ihåg alfabetet. För enkelhetens skull, översätt alfabetiska siffror till det talsystem som är bekant för dig, när du multiplicerar, översätt tillbaka till ett alfabetiskt värde.
För tydlighetens skull, låt oss analysera multiplikationen med 5 av talet 20A4.
Ett exempel på en oberoende lösning.
| Informatik och informations- och kommunikationsteknik | Lektionsplanering och lektionsmaterial | 10 klasser | Lektionsplanering för läsåret (FSES) | Aritmetiska operationer i positionstalssystem
Aritmetiska operationer i positionstalssystem med bas q utförs enligt de regler som liknar de som gäller i decimaltalsystemet.
I grundskolan används additions- och multiplikationstabeller för att lära barn att räkna. Liknande tabeller kan sammanställas för alla positionsnummersystem.
Betrakta exempel på additionstabeller i ternära (Tabell 3.2), oktala (Tabell 3.4) och hexadecimala (Tabell 3.3) talsystem.
Tabell 3.2
Tillägg i ternärt nummersystem
Tabell 3.3
Addition i hexadecimalt talsystem
Tabell 3.4
Tillägg i oktalt talsystem
q få beloppet S två nummer A Och B, är det nödvändigt att summera talen som bildar dem med siffror i från höger till vänster:
Om a i + b i< q, то s i = a i + b i , старший (i + 1)-й разряд не изменяется;
om a i + b i ≥ q, då s i \u003d a i + bi - q, ökas den mest signifikanta (i + 1) siffran med 1.
Exempel:
Alltså i ett talsystem med en bas q få skillnad R två nummer A Och I, är det nödvändigt att beräkna skillnaderna mellan siffrorna som bildar dem med siffror i från höger till vänster:
Om ai ≥ bi, då ri = ai - bi, ändras inte den högre (i + 1)-te biten;
om ett i< b i , то r i = a i - b i + g, старший (i + 1)-й разряд уменьшается на 1 (выполняется заём в старшем разряде).
Du kan ange antingen heltal, t.ex. 34 , eller bråktal, t.ex. 637.333 . För bråktal anges noggrannheten av översättningen efter decimalkomma.
Följande används också med denna kalkylator:
Exempel #1.
Översättning från 2 till 8 till 16 nummersystem.
Dessa system är multiplar av två, därför utförs översättningen med hjälp av överensstämmelsetabellen (se nedan).
För att konvertera ett tal från ett binärt talsystem till ett oktalt (hexadecimalt) tal, är det nödvändigt att dela upp det binära talet i grupper med tre (fyra för hexadecimala) siffror från ett kommatecken till höger och vänster, och komplettera de extrema grupperna med nollor om nödvändigt. Varje grupp ersätts av motsvarande oktala eller hexadecimala siffra.
Exempel #2. 1010111010.1011 = 1.010.111.010.101.1 = 1272.51 8
här 001=1; 010=2; 111=7; 010=2; 101=5; 001=1
När du konverterar till hexadecimal måste du dela upp talet i delar, fyra siffror vardera, enligt samma regler.
Exempel #3. 1010111010.1011 = 10.1011.1010.1011 = 2B12.13 HEX
här 0010=2; 1011=B; 1010=12; 1011=13
Omvandlingen av tal från 2, 8 och 16 till decimalsystemet utförs genom att bryta talet i separata ettor och multiplicera det med basen av systemet (från vilket talet översätts) upphöjt till den potens som motsvarar dess ordningsnummer i det översatta numret. I det här fallet numreras talen till vänster om decimalkomma (det första talet har siffran 0) med ökande och till höger med minskande (dvs. med ett negativt tecken). De erhållna resultaten läggs ihop.
Exempel #4.
Exempel på konvertering från binärt till decimalt talsystem.
1010010.101 2 = 1 2 6 +0 2 5 +1 2 4 +0 2 3 +0 2 2 +1 2 1 +0 2 0 + 1 2 -1 +0 2 - 2 +1 2 -3 =
= 64+0+16+0+0+2+0+0,5+0+0,125 = 82,625 10 Exempel på konvertering från oktalt till decimalt talsystem. 108,5 8 = 1* 8 2 +0 8 1 +8 8 0 + 5 8 -1 = 64+0+8+0,625 = 72,625 10 Ett exempel på omvandling från hexadecimalt till decimalt talsystem. 108,5 16 = 1 16 2 +0 16 1 +8 16 0 + 5 16 -1 = 256+0+8+0,3125 = 264,3125 10
Än en gång upprepar vi algoritmen för att översätta siffror från ett nummersystem till ett annat PSS
Binär SS | Hexadecimal SS |
0000 | 0 |
0001 | 1 |
0010 | 2 |
0011 | 3 |
0100 | 4 |
0101 | 5 |
0110 | 6 |
0111 | 7 |
1000 | 8 |
1001 | 9 |
1010 | A |
1011 | B |
1100 | C |
1101 | D |
1110 | E |
1111 | F |
Tabell för konvertering till oktalt talsystem
Exempel #2. Konvertera talet 100,12 från decimal till oktal och vice versa. Förklara orsakerna till avvikelserna.
Lösning.
Steg 1. .
Resten av divisionen skrivs i omvänd ordning. Vi får numret i det 8:e siffersystemet: 144
100 = 144 8
För att översätta bråkdelen av ett tal multiplicerar vi successivt bråkdelen med basen 8. Som ett resultat skriver vi varje gång ned produktens heltalsdel.
0,12*8 = 0,96 (hel del 0
)
0,96*8 = 7,68 (hel del 7
)
0,68*8 = 5,44 (hel del 5
)
0,44*8 = 3,52 (hel del 3
)
Vi får numret i det 8:e siffersystemet: 0753.
0.12 = 0.753 8
100,12 10 = 144,0753 8
Steg 2. Konvertera ett tal från decimal till oktal.
Omvänd konvertering från oktal till decimal.
För att översätta heltalsdelen är det nödvändigt att multiplicera siffran i numret med motsvarande grad av siffra.
144 = 8 2 *1 + 8 1 *4 + 8 0 *4 = 64 + 32 + 4 = 100
För att översätta bråkdelen är det nödvändigt att dela siffran i numret med motsvarande grad av siffra
0753 = 8 -1 *0 + 8 -2 *7 + 8 -3 *5 + 8 -4 *3 = 0.119873046875 = 0.1199
144,0753 8 = 100,96 10
Skillnaden på 0,0001 (100,12 - 100,1199) beror på ett avrundningsfel vid konvertering till oktal. Detta fel kan minskas genom att ta Mer bitar (till exempel inte 4 utan 8).
Tänk 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 - detta är addition, subtraktion, multiplikation med en kolumn och division med en vinkel. Dessa regler gäller för alla andra positionsnummersystem. Du behöver bara använda speciella additions- och multiplikationstabeller för varje system.
Tilläggstabeller är lätta att skapa med hjälp av räkneregler.
Vid addering summeras siffrorna med siffror, och om ett överskott inträffar överförs det till vänster.
Exempel 1 Låt oss lägga till siffrorna 15 och 6 in olika system beräkning.
Exempel 2 Låt oss lägga till siffrorna 15, 7 och 3.
Hexadecimal : F 16 +7 16 +3 16 |
15+7+3 = 25 10 = 11001 2 = 31 8 = 19 16 . Undersökning: 11001 2 = 2 4 + 2 3 + 2 0 = 16+8+1=25, 31 8 = 3 . 8 1 + 1 . 8 0 = 24 + 1 = 25, 19 16 = 1 . 16 1 + 9 . 16 0 = 16+9 = 25. |
Exempel 3 Låt oss lägga till siffrorna 141,5 och 59,75.
Svar: 141,5 + 59,75 = 201,25 10 = 11001001,01 2 = 311,2 8 = C9,4 16
Undersökning. Låt oss konvertera de mottagna beloppen till decimalform:
11001001,01 2 = 2 7 + 2 6 + 2 3 + 2 0 + 2 -2 = 201,25
311,2 8 = 3 . 8 2 + 1 . 8 1 + 1 . 8 0 + 2 . 8 -1 = 201,25
C9,4 16 = 12 . 16 1 + 9 . 16 0 + 4 . 16 -1 = 201,25
Subtraktion i binärt system
lån |
Subtraktion i hexadecimalt talsystem
Låna en seniorenhet |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Subtraktion i oktaltalssystem
|
Lånenheter av hög ordning
Exempel 4 Subtrahera en från siffrorna 10 2 , 10 8 och 10 16
Exempel 5 Subtrahera en från siffrorna 100 2 , 100 8 och 100 16 .
Exempel 6 Subtrahera talet 59,75 från talet 201,25.
Svar: 201,25 10 - 59,75 10 = 141,5 10 = 10001101,1 2 = 215,4 8 = 8D.8 16.
Undersökning. Låt oss konvertera de resulterande skillnaderna till decimalform:
10001101,1 2 = 2 7 + 2 3 + 2 2 + 2 0 + 2 -1 = 141,5;
215,4 8 = 2 . 8 2 + 1 . 8 1 + 5 . 8 0 + 4 . 8 -1 = 141,5;
8D,8 16 = 8 . 16 1+D . 16 0 + 8 . 16 -1 = 141,5.