▷ Binärt, decimal, oktalt och hexadecimalt system vad det är och hur det fungerar

Innehållsförteckning:
- Hur man utför numreringssystemkonverteringar
- Numreringssystem
- Decimala system
- Binärsystem
- Octalt system
- Hexadecimalt system
- Konvertering mellan binärt och decimalt system
- Konvertera nummer från binär till decimal
- Konvertera decimalnummer till binär
- Konverteringsfraktionellt decimaltal till binärt
- Konverteringsfraktionellt binärt tal till decimal
- Omvandling mellan oktalt system och binärt system
- Konvertera nummer från binärt till oktalt
- Konvertera oktaltal till binärt
- Omvandling mellan octal system och decimal system
- Konvertera decimaltal till oktalt
- Konvertera oktaltal till decimal
- Omvandling mellan hexadecimalt system och decimalsystem
- Konvertera decimalnummer till hexadecimal
- Konvertera nummer från hexadecimal till decimal
Om du är student i datavetenskap, elektronik eller någon teknikgren är en av de saker du bör veta att utföra numreringssystemkonverteringar. Vid beräkning skiljer sig numreringssystemen från vad vi traditionellt vet, liksom vårt decimalsystem. Det är därför, om vi ägnar oss åt fältet både datorisering, programmering och liknande teknik, kommer vi att behöva veta de mest använda systemen och hur vi kan konvertera från ett system till ett annat.
Innehållsindex
Hur man utför numreringssystemkonverteringar
Det är särskilt användbart att känna till omvandlingssystemet Decimal till Binary och vice versa, eftersom det är numreringssystemet som komponenterna i en dator arbetar direkt med. Men det är också mycket användbart att känna till det hexadecimala systemet, eftersom det till exempel används för att representera färgkoder, nycklar och ett stort antal koder från vårt team.
Numreringssystem
Ett numreringssystem består av representeringen av en uppsättning symboler och regler som gör att vi kan bygga de giltiga siffrorna. Med andra ord består den av att använda en serie av begränsade symboler med vilka det kommer att vara möjligt att bilda andra numeriska värden utan någon begränsning.
Utan att gå för långt in i matematiska definitioner kommer de system som används mest av människor och maskiner att vara följande:
Decimala system
Det är ett positionsnummer-system där kvantiteterna representeras av den tios aritmetiska bas.
Eftersom basen är nummer tio, kommer vi att kunna bygga alla siffror med tio siffror som vi alla känner. 0, 1, 2 3, 4, 5, 6, 7, 8 och 9. Dessa nummer kommer att användas för att representera positionen för krafterna på 10 i bildandet av valfritt antal.
Så vi kan representera ett nummer på följande sätt i detta numreringssystem:
Vi ser att ett decimaltal är summan av varje värde med basen 10 höjt till positionen 1 som varje term upptar. Vi kommer att ha detta i åtanke för konverteringar i andra numreringssystem.
Binärsystem
Det binära systemet är ett numreringssystem där den aritmetiska basen används. Detta system är det som används av datorer och digitala system internt för att utföra absolut alla processer.
Detta numreringssystem representeras endast av två siffror, 0 och 1, varför det är baserat på 2 (två siffror). Med det kommer alla värdekedjor att byggas.
Octalt system
Som med de tidigare förklaringarna kan vi redan föreställa oss vad det här handlar om det oktala systemet. Det octala systemet är numreringssystemet där den aritmetiska basen 8 används, det vill säga vi kommer att ha 8 olika siffror för att representera alla siffror. Dessa kommer att vara: 0, 1, 2, 3, 4, 5, 6 och 7.
Hexadecimalt system
Efter de tidigare definitionerna är decimaltalssystemet ett positionsnummereringssystem baserat på siffran 16. På denna punkt kommer vi att fråga oss själva, hur ska vi få 16 olika siffror, om till exempel 10 är en kombination av två siffror annorlunda?
Tja, väldigt enkelt, vi uppfann dem, inte oss, utan de som uppfann systemet i fråga. De siffror som vi har här kommer att vara: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E och F. detta gör totalt 16 olika termer. Om du någonsin har ställt in en numerisk kod för en färg har den denna typ av numrering, och det är därför du ser hur vit, till exempel, representeras som värdet FFFFFF. Vi kommer senare att se vad detta betyder.
Konvertering mellan binärt och decimalt system
Eftersom det är det mest grundläggande och lätt att förstå kommer vi att börja med att konvertera mellan dessa två numreringssystem.
Konvertera nummer från binär till decimal
Som vi såg i det första avsnittet representerar vi ett decimaltal som summan av värdena multiplicerad med kraften 10 till positionen 1 den upptar. Om vi tillämpar detta på något binärt nummer, med motsvarande bas, kommer vi att ha följande:
1 | 0 | 0 | 1 | 1 |
0 |
1 · 2 5 | 1 · 2 4 | 1 · 2 3 | 1 · 2 2 | 1 · 2 1 |
1 · 2 0 |
Men naturligtvis, om vi utförde proceduren som i decimalsystemet, skulle vi få andra värden än 0 och 1, som är de som vi bara kan representera i detta numreringssystem.
Men just detta kommer att vara mycket användbart för att utföra konverteringen till decimalsystemet. Låt oss beräkna resultatet av varje värde i rutan:
1 | 0 | 0 | 1 | 1 |
0 |
1 · 2 5 = 32 |
1 · 2 4 = 0 | 1 · 2 3 = 0 | 1 · 2 2 = 4 | 1 · 2 1 = 2 |
1 · 2 0 = 0 |
Om vi gör summan av dessa värden som kommer från varje cell, kommer vi att få det decimalvärde på det binära värdet.
Decimalt värde på 100110 är 38
Vi har bara varit tvungna att multiplicera siffran (0 eller 1) med dess bas (2) höjd till position-1 den upptar i figuren. Vi lägger till värdena och vi får numret i decimal.
Om du inte är övertygad kommer vi nu att genomföra den motsatta processen:
Konvertera decimalnummer till binär
Om vi innan vi gjorde en multiplikation av siffrorna och en summa för att bestämma värdet i decimaler, vad vi måste göra är att dela decimaltalet med basen i systemet vi vill konvertera till det, i detta fall 2.
Vi kommer att genomföra detta förfarande tills det inte längre är möjligt att utföra någon ytterligare uppdelning. Låt oss se exemplet på hur det skulle göras.
nummer |
38 | 19 | 9 | 4 | 2 | 1 |
division |
÷ 2 = 19 |
÷ 2 = 9 | ÷ 2 = 4 | ÷ 2 = 2 | ÷ 2 = 1 |
- |
vila | 0 | 1 | 1 | 0 | 0 |
1 |
Detta är resultatet av att de successiva uppdelningarna minimeras. Du kanske redan har insett hur detta fungerar. Om vi nu tar återstoden för varje division och inverterar dess position, kommer vi att få det binära värdet för decimaltalet. Det vill säga började där vi slutade divisionen bakåt:
Så vi har följande resultat: 100110
Som vi ser har vi lyckats ha exakt samma nummer som i början av avsnittet.
Konverteringsfraktionellt decimaltal till binärt
Som vi väl vet finns det inte bara hela decimaltal, utan vi kan också hitta verkliga siffror (bråk). Och som ett numreringssystem borde det vara möjligt att konvertera ett nummer från decimalsystemet till det binära systemet. Vi ser hur vi gör det. Låt oss ta siffran 38, 375 som ett exempel
Vad vi måste göra är att separera var och en av delarna. Vi vet redan hur man beräknar heltalets del, så vi går direkt till decimaldelen.
Proceduren kommer att vara följande: vi måste ta decimaldelen och multiplicera den med basens system, det vill säga 2. Resultatet av multiplikationen måste vi multiplicera den igen tills vi får en bråkdel av 0. Om ett faktionsnummer visas med en heltal när vi utför multiplikationen måste vi bara ta bråk för nästa multiplikation. Låt oss titta på exemplet för att förstå det bättre.
nummer |
0375 | 0, 75 | 0, 50 |
multiplikation | * 2 = 0, 75 | * 2 = 1, 50 |
* 2 = 1, 00 |
Hela delen | 0 | 1 |
1 |
Som vi ser tar vi decimaldelen och multiplicerar den igen tills vi når 1.00 där resultatet alltid blir 0.
Resultatet av 38 375 binärt blir då 100 110 011
Men vad händer när vi aldrig kan nå ett resultat på 1, 00 i processen? Låt oss se exemplet med 38, 45
nummer |
0, 45 | 0, 90 | 0, 80 | 0, 60 | 0, 20 | 0, 40 | 0, 80 |
multiplikation | * 2 = 0, 90 | * 2 = 1, 80 | * 2 = 1, 60 | * 2 = 1, 20 | * 2 = 0, 40 | * 2 = 0, 80 | * 2 = 1, 60 |
Hela delen | 0 | 1 | 1 | 1 | 0 | 0 |
1 |
Som vi kan se , från 0, 80 blir processen periodisk, det vill säga, vi kommer aldrig att avsluta proceduren eftersom siffrorna från 0, 8 till 0, 4 alltid kommer att visas. Då blir vårt resultat en approximation av decimaltalet, ju längre vi går, desto större noggrannhet kommer vi att få.
Så: 38.45 = 100 110, 01110011001 1001…
Låt oss se hur man gör omvänd process
Konverteringsfraktionellt binärt tal till decimal
Denna process kommer att genomföras på samma sätt som den normala basförändringen, förutom att krafterna från komma kommer att vara negativa. Låt oss bara ta heltalsdelen av det föregående binära numret:
0 | 1 | 1 | 1 | 0 | 0 |
1 |
... |
0 · 2 -1 = 0 | 1 · 2 -2 = 0, 25 | 1 · 2 -3 = 0, 125 | 1 · 2 -4 = 0, 0625 | 1 · 2 -5 = 0 | 1 · 2 -6 = 0 | 1-2 -7 = 0, 0078125 | … |
Om vi lägger till resultaten kommer vi att få:
0, 25 + 0, 125 + 0, 0625 + 0, 0078125 = 0, 4453
Om vi fortsatte att utföra operationer skulle vi komma närmare och närmare det exakta värdet 38, 45
Omvandling mellan oktalt system och binärt system
Nu ska vi fortsätta för att se hur man utför konverteringen mellan två system som inte är decimaler, för detta tar vi octalsystemet och det binära systemet och vi gör samma procedur som i de föregående avsnitten.
Konvertera nummer från binärt till oktalt
Konverteringen mellan båda numreringssystemen är mycket enkel eftersom basen för det oktala systemet är samma som i det binära systemet men höjs till kraften på 3, 2 3 = 8. Så utifrån detta, vad vi kommer att göra är att gruppera de binära termerna i grupper om tre som börjar från höger till vänster och konvertera direkt till ett decimaltal. Låt oss se exemplet med numret 100110:
1 | 0 | 0 | 1 | 1 | 0 |
100 | 110 | ||||
0 · 2 2 = 4 | 0 · 2 1 = 0 | 1 · 2 0 = 0 | 1 · 2 2 = 4 | 1 · 2 1 = 2 | 0 · 2 0 = 0 |
4 | 6 |
Vi grupperar var tredje siffror och gör omvandlingen till decimal. Slutresultatet blir att 100110 = 46
Men tänk om vi inte har perfekta grupper om 3? Till exempel 1001101, vi har två grupper om 3 och en av 1, låt oss se hur vi går framåt:
0 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 1 |
001 | 100 | 110 | ||||||
0 · 2 2 = 0 | 0 · 2 1 = 0 | 1 · 2 0 = 1 | 0 · 2 2 = 0 | 0 · 2 1 = 0 | 1 · 2 0 = 1 | 1 · 2 2 = 4 | 1 · 2 1 = 0 | 1 · 2 0 = 1 |
1 | 1 | 5 |
Efter proceduren tar vi grupperna till höger om termen och när vi når slutet fyller vi med så många nollor som behövs. I det här fallet har vi behövt två för att slutföra den sista gruppen. Så 1001101 = 115
Konvertera oktaltal till binärt
Förfarandet är så enkelt som att göra det motsatta, det vill säga att gå från binär till decimal i grupper om 3. Låt oss se det med siffran 115
värde | 1 | 1 | 5 | ||||||
division | ÷ 2 = 0 | 0 | 0 | ÷ 2 = 0 | 0 | 0 | ÷ 2 = 2 | ÷ 2 = 1 | - |
vila | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 |
grupp | 001 | 001 | 101 |
På detta sätt ser vi att 115 = 001001101 eller vad som är samma 115 = 1001101
Omvandling mellan octal system och decimal system
Nu ska vi se hur man utför proceduren för att gå från oktaltalssystemet till decimal och vice versa. Vi kommer att se att proceduren är exakt densamma som för decimalt och binärt system, bara vi måste ändra basen till 8 istället för 2.
Vi kommer att utföra förfarandena direkt med termer med en bråkdel.
Konvertera decimaltal till oktalt
Efter proceduren för den decimal-binära metoden kommer vi att utföra den med exemplet av 238.32:
Hela delen. Vi delar med basen, som är 8:
nummer | 238 | 29 | 3 |
division | ÷ 8 = 29 | ÷ 8 = 3 | - |
vila | 6 | 5 | 3 |
Decimal del multiplicerar vi med basen, som är 8:
nummer | 0, 32 | 0, 56 | 0, 48 | 0, 84 | 0, 72 | … |
multiplikation | * 8 = 2, 56 | * 8 = 4, 48 | * 8 = 3, 84 | * 8 = 6, 72 | * 8 = 5, 76 | … |
Hela delen | 2 | 4 | 3 | 6 | 5 | … |
Resultatet erhålles enligt följande: 238.32 = 356.24365…
Konvertera oktaltal till decimal
Nåväl, låt oss göra motsatt process. Låt oss överföra oktaltalet 356, 243 till decimal:
3 | 5 | 6 | , | 2 | 4 | 3 |
3 · 8 2 = 192 | 5 · 8 1 = 40 | 6 · 2 0 = 6 | 2 · 8 -1 = 0, 25 | 4 · 8 -2 = 0, 0625 | 3 · 8 -3 = 0, 005893 |
Resultatet är: 192 + 40 + 6, 0.25 + 0.0625 + 0.005893 = 238.318
Omvandling mellan hexadecimalt system och decimalsystem
Vi avslutar sedan konverteringsprocessen mellan det hexadecimala numreringssystemet och decimalsystemet.
Konvertera decimalnummer till hexadecimal
Efter proceduren för den decimal-binära och decimal-oktala metoden kommer vi att utföra den med exemplet av 238.32:
Hela delen. Vi delar med basen, som är 16:
nummer | 238 | 14 |
division | ÷ 16 = 14 | - |
vila | E | E |
Decimal del multiplicerar vi med basen, som är 16:
nummer | 0, 32 | 0, 12 | 0, 92 | 0, 72 | 0, 52 | … |
multiplikation | * 16 = 5, 12 | * 16 = 1, 92 | * 16 = 14, 72 | * 16 = 11, 52 | * 16 = 8, 32 | … |
Hela delen | 5 | 1 | E | B | 8 | … |
Resultatet erhålles enligt följande: 238.32 = EE, 51EB8…
Konvertera nummer från hexadecimal till decimal
Nåväl, låt oss göra motsatt process. Låt oss skicka det hexadecimala talet EE, 51E till decimal:
E | E | , | 5 | 1 | E |
E16 1 = 224 | E · 16 0 = 14 | 5 - 16 -1 = 0, 3125 | 1 · 16 -2 = 0, 003906 | E16 -3 = 0, 00341 |
Resultatet är: 224 + 14, 0.3125 + 0.003906 + 0.00341 = 238.3198…
Det här är de viktigaste sätten att byta bas från ett numreringssystem till ett annat. Systemet är tillämpligt på ett system i valfri bas och decimalsystemet, även om dessa är de mest använda inom datorområdet.
Du kanske också är intresserad av:
Om du har några frågor, lämna dem i kommentarerna. Vi kommer att försöka hjälpa dig.
Ip: vad är det, hur fungerar det och hur man döljer det

Vad är IP, hur fungerar det och hur kan jag dölja min IP. Allt du behöver veta om IP för att navigera säkert och gömt på Internet. Betydelse IP.
Nvidia frameview: vad det är, vad det är för och hur det fungerar

Nvidia släppte nyligen Nvidia FrameView, en intressant benchmarkingapplikation med låg energiförbrukning och intressanta data.
Intel smart cache: vad är det, hur fungerar det och vad är det för?

Här kommer vi att förklara med enkla ord vad som är Intel Smart Cache och vad är dess huvudsakliga egenskaper, styrkor och svagheter.