Hexadecimalt talsystem. Konvertera nummer från ett nummersystem till ett annat online

Hexadecimalt talsystem. Konvertera nummer från ett nummersystem till ett annat online
Tabell 2.4. Hexadecimalt kodningssystem
Decimalsystem hexadecimalt system Decimalsystem hexadecimalt system
0 0 (0000) 10 A(1010)
1 1(0001) 11 B(1011)
2 2 (0010) 12 C(1100)
3 3 (0011) 13 D(1101)
4 4 (0100) 14 E (1110)
5 5 (0101) 15 F(1111)
6 6 (0110) 16 10 (00010000)
7 7 (0111) 17 11 (00010001)
8 8 (1000) 18 12 (00010010)
9 9 (1001) 19 13 (00010011)

För att konvertera ett hexadecimalt tal till decimal, är det nödvändigt att multiplicera värdet på den minst signifikanta (noll) siffran med en, värdet på nästa (första) siffran med 16, värdet på den andra siffran med 256 (16 2) , etc., och lägg sedan till alla produkter. Ta till exempel siffran A17F :

A17F=F*16 0 + 7*16 1 + 1*16 2 + A*16 3 = 15*1 + 7*16+1*256+10*4096=41343

Tabell 2.5. 8-arigt kodsystem
Decimalsystem 8-ärt system Decimalsystem 8-ärt system
0 0 (000) 10 12 (001010)
1 1(001) 11 13 (001011)
2 2 (010) 12 14 (001100)
3 3 (011) 13 15 (001101)
4 4 (100) 14 16 (001110)
5 5 (101) 15 17 (001111)
6 6 (110) 16 20 (010000)
7 7 (111) 17 21 (010001)
8 10 (001000) 18 22 (010010)
9 11 (001001) 19 23 (010011)

Men varje digital utrustningsspecialist (konstruktör, operatör, reparatör, programmerare, etc.) behöver lära sig hur man hanterar de hexadecimala och binära systemen lika fritt som med den vanliga decimalen, så att inga överföringar från system till system krävs.

Mycket mindre frekvent än hexadecimal används oktal kodning, som bygger på samma princip som hexadecimal, men binära siffror delas in i grupper om tre siffror. Varje grupp (kodsiffra) betecknas sedan med ett tecken. Varje siffra i den 8-siffriga koden kan ha åtta värden: 0, 1, 2, 3, 4, 5, 6, 7 (tabell 2.5).

Utöver de övervägda koderna finns även den så kallade binära-decimalrepresentationen av tal. Liksom i den hexadecimala koden, i den binära-decimala koden, motsvarar varje siffra i koden fyra binära siffror, men varje grupp med fyra binära siffror kan ta inte sexton, utan bara tio värden, kodade av symbolerna 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Det vill säga en decimal motsvarar fyra binära ettor. Som ett resultat visar det sig att att skriva siffror i binär decimalkod inte skiljer sig från att skriva i en vanlig decimalkod (tabell 2.6), men i verkligheten är det bara en speciell binär kod, vars siffra bara kan ta två värden: 0 och 1. BCD är ibland väldigt praktiskt för att organisera decimaler. digitala indikatorer och resultattavla.

Tabell 2.6. Binärt decimalkodningssystem
Decimalsystem Binär decimal Decimalsystem Binär decimal
0 0 (0000) 10 10 (00010000)
1 1(0001) 11 11 (00010001)
2 2 (0010) 12 12 (00010010)
3 3 (0011) 13 13 (00010011)
4 4 (0100) 14 14 (00010100)
5 5 (0101) 15 15 (00010101)
6 6 (0110) 16 16 (00010110)
7 7 (0111) 17 17 (00010111)
8 8 (1000) 18 18 (00011000)
9 9 (1001) 19 19 (00011001)

I binär kod, över siffror, kan du göra vilket som helst aritmetiska operationer: addition, subtraktion, multiplikation, division.

Tänk till exempel på tillägget av två 4-bitars binära tal. Låt oss lägga till talet 0111 (decimal 7) och 1011 (decimal 11). Att lägga till dessa siffror är inte svårare än decimalnotation:

När vi lägger till 0 och 0 får vi 0, när vi lägger till 1 och 0 får vi 1, när vi lägger till 1 och 1 får vi 0 och överföringen till nästa bit är 1. Resultatet är 10010 (decimal 18). När du lägger till två n-bitars binära tal kan du få ett n-bitars eller (n + 1) -bitars tal.

Subtraktion görs på samma sätt. Låt talet 0111 (7) subtraheras från talet 10010 (18). Vi skriver talen i linje med den minst signifikanta siffran och subtraherar på samma sätt som i fallet med decimalsystemet:

Att subtrahera 0 från 0 ger dig 0, subtrahera 0 från 1 ger dig 1, subtrahera 1 från 1 ger dig 0, subtrahera 1 från 0 ger dig 1, och att låna 1 i nästa siffra. Resultatet är 1011 (decimal 11).

Vid subtrahering är det möjligt att få negativa tal, så du måste använda binär representation negativa tal.

Att samtidigt representera både binära positiva och binära negativa tal, det sk ytterligare kod . Negativa tal i denna kod uttrycks med ett tal som, när det läggs till ett positivt tal av samma storlek, ger noll. För att få ett negativt tal måste du ändra alla bitar av samma positiva tal till de motsatta (0 till 1, 1 till 0) och lägga till 1 till resultatet. Låt oss till exempel skriva talet -5. Siffran 5 i binär kod ser ut som 0101. Vi ersätter bitarna med motsatta: 1010 och lägger till en: 1011. Vi summerar resultatet med det ursprungliga talet: 1011 + 0101 = 0000 (vi ignorerar överföringen till den femte biten).

modulo 2 två binära tal 0111 och 1011:

Andra bitvisa operationer på binära tal inkluderar OCH-funktionen och ELLER-funktionen. OCH-funktionen resulterar i en endast när motsvarande bitar av de två ursprungliga talen är båda ettor, annars blir resultatet -0. ELLER-funktionen resulterar i en när minst en av de motsvarande bitarna i de ursprungliga talen är 1, annars är resultatet 0.

Det vanliga talsystemet för människor är decimalt. Det är baserat på tio siffror från 0 till 9. Det hexadecimala systemet kännetecknas av närvaron i det av de första sex bokstäverna i det latinska alfabetet för att skriva siffror utöver huvudsiffrorna. Det vill säga att siffran 9 följs av tecknet "A", vilket motsvarar siffran 10 för decimalsystemet. Följaktligen är F i hexadecimal 16 i decimal. Användningen av sexton tecken i systemet är inte ett slumpmässigt val.

Enheten för information är lite. Åtta bitar utgör en byte. Det finns ett koncept, som ett maskinord - det här är en dataenhet, som är två, det vill säga sexton bitar. Med hjälp av sexton olika symboler är det alltså möjligt att beskriva vilken information som helst som kommer att vara den minsta partikeln i datautbytet. Med dem kan du utföra alla aritmetiska operationer, resultatet kommer också att erhållas i det hexadecimala systemet.

För att särskilja att talet är skrivet i hexadecimalt, skrivs bokstaven "h" efter det eller index"16".

Ansökan

Mest bred tillämpning hexadecimalt talsystem - det här är felkoder mjukvaruprodukter, Till exempel, operativ system. Siffrorna som är inbäddade i dessa koder är standardiserade. Med en speciell tabell kan du alltid bestämma vad exakt detta eller det felet betyder.

På lågnivåspråk, så nära maskinkoder som möjligt, används det hexadecimala systemet för att skriva program. Många programmerare använder det också när de arbetar med högnivåspråk, eftersom siffrorna i detta system, med hjälp av en speciell korrespondenstabell, lätt omvandlas till ett binärt system, på vilket driften av all digital teknik är baserad. All information på datorn, vare sig det är en musikfil eller Textdokument, efter översättning representeras av en sekvens av den binära källkoden, och det är bekvämare att se den representerad av hexadecimala tecken.

En av användningarna av hexadecimala symboler är också beskrivningen av färgscheman, det vill säga de tre komponenterna R, G, B beskrivs på ett sätt som är lämpligt för detta system. Denna metod för att skriva kallas hexadecimal färg.

Möjligheten att visa programmet i hexadecimal kod låter dig felsöka det, göra ändringar och angripare använder detta tillvägagångssätt för att hacka program.

Nu finns det en mycket lätt promenad i samband med det hexadecimala talsystemet. I det här fallet hoppas vi att du misstänker, och förmodligen med rätta, att vi nu borde ha 16 distinkta siffror.

Men som vi vet finns det bara tio traditionella ("arabiska") siffror. Och det tar sexton. Det visar sig att sex karaktärer saknas.

Kommentar
Således uppstår en ren designuppgift om ämnet "Tecken" - att komma på de saknade tecknen för siffror
.

Så en gång var specialister tvungna att komma med några nya tecken. Men en gång, i början av datoreran, fanns det inte mycket val i skyltar. Programmerare hade bara tecken på siffror och bokstäver. Därför tog de den elementära vägen: de tog de första bokstäverna i det latinska alfabetet som siffror, särskilt eftersom detta historiskt sett inte är det första fallet (vi har redan nämnt att till en början använde många människor bokstäver istället för siffror).

Kommentar
Vi hoppas att alla förstår varför det i det här fallet är omöjligt att använda till exempel siffrorna "10", "11", "12" etc.? För om vi pratar om det hexadecimala talsystemet, så borde det vara sexton tal, inte siffror
.

Och decimaltalet "10" började betecknas med den latinska bokstaven "A" (mer exakt "talet A"). Följaktligen följer siffrorna "B", "C", "D", "E" och "P".

Eftersom vi hade för avsikt att bygga ett hexadecimalt system, från noll, får vi här exakt 16 siffror. Till exempel är siffran "D" decimaltalet "13" och siffran "F" är decimaltalet "15".

När vi lägger till en till det hexadecimala talet "F", då, eftersom vi har slut på dessa siffror, sätter vi "O" i denna siffra, och vi överför en till nästa siffra, så det visar sig att decimaltalet " 16" kommer att representeras i det hexadecimala talsystemet av siffran "10", dvs. det visar sig "hexadecimalt tio". Låt oss kombinera decimala och hexadecimala tal till en enda tabell (tabell 4.5).

Tabell 4.5. Matchande decimala och hexadecimala tal.

Decimal nummer Hexadecimalt tal Decimal nummer Hexadecimalt tal
0-9 0-9 29 1D
10 A 30 1E
11 I 31 1F
12 MED 32-41 20-29
13 D 42-47 2A-2F
14 E 48-255 30-FF
15 F 256 100
16 10 512 200
17-25 11-19 1024 400
26 1A 1280 500
27 IB 4096 1000
28 1C

Det hexadecimala systemet används för att skriva mer kompakt binär information. Faktum är att ett "hexadecimalt tusental", bestående av fyra siffror, i binär form tar tretton siffror (1000 16 \u003d 1000000000000 2).

När man diskuterade talsystem uppträdde "tiotals", "hundratals" och "tusentals" upprepade gånger, så det är nödvändigt att uppmärksamma de så kallade "runda" siffrorna.

Det hexadecimala talsystemet har ett alfabet som består av 16 siffror:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, b, c, d, e, f.

När man skriver ett tal i det hexadecimala systemet, för att skriva talen som betecknar siffrorna 10, 11, 12. 13, 14. 15, används bokstäverna A, B, C, D, E, F.

Konvertera tal från hexadecimal till decimal

Du kan konvertera valfritt hexadecimalt tal till decimaler med den redan kända formeln

Exempel.

    AE07 16 =10∙16 3 +14∙16 2 +0∙16 1 +7∙16 0 =44551 10 .

    100 16 =1∙16 2 +0∙16 1 +0∙16 0 =256 10 .

    58 16 =5∙16 1 +8∙16 0 =.88 10 .

    2A 16 \u003d 2 16 1 + 10 16 0 \u003d 42 10.

Omvandlingen av ett tal från decimalsystemet till hexadecimalt görs på samma sätt som i binärt.

Konvertera tal från hexadecimala till binära och vice versa

Du kan konvertera vilket hexadecimalt tal som helst till binärt enligt följande. Varje hexadecimal siffra i ett tal skrivs som ett fyrsiffrigt binärt tal - tetrad. Därefter kan nollorna till vänster kasseras.

2) 2A= 0010 1010 2 = 101010 2 .

3) 58 16 = 0101 1000 2 = 1011000 2 .

Omvänt kan du konvertera vilket binärt tal som helst till hexadecimalt på samma sätt. Var fjärde binär siffra, räknat från höger till vänster, skrivs som en hexadecimal siffra. Dessa figurer är också ordnade från höger till vänster.

Exempel.

2. 101010 2 = 10 1010 2 = 2A.

3. 1011000 2 = 101 1000 2 = 58 16 .

Oktalt talsystem

Det oktala talsystemet har ett alfabet som består av 8 siffror:

0, 1, 2, 3, 4, 5, 6, 7.

Konvertering av ett tal från decimal till oktal och vice versa utförs i analogi med konvertering till / från binär.

Konvertera tal från oktala till binära och vice versa

Varje siffra i den oktala notationen av ett tal skrivs som ett tresiffrigt binärt tal - triad.

Exempel.

2563 8 = 010 101 110 011 2 =10101110011 2 .

1001101 2 = 001 001 101 2 = 115 8 .

Metodiskt material för laborationslektion nr 1

Laborationslektionens ämne: Talsystem. Mätning av information.

Antal timmar: 2.

Exempel med lösningar

    Översättning frånsid -ärt system till 10-ärt. Anta att det är nödvändigt att konvertera ett tal i något talsystem till decimal. För att göra detta måste vi representera det i formuläret

11100110 2 = 1∙2 7 + 1∙2 6 + 1∙2 5 + 0∙2 4 + 0∙2 3 + 1∙2 2 + 1∙2 1 + 0∙2 0 = 128 + 64 + 32 + 4 + 2 = 230 10 .

2401 5 = 2∙5 3 + 4∙5 2 + 0∙5 1 + 1∙5 0 = 250 + 100 + 0 + 1 = 351.

    Konvertera från decimalsystem tillsid -ic.

2.1 98 10 → X 2 .

Vi delar talet med 2. Sedan dividerar vi den ofullständiga kvoten med 2. Vi fortsätter tills den ofullständiga kvoten blir mindre än 2, d.v.s. lika med 1.

    98: 2 = 49. Återstoden - 0 .

    49: 2 = 24. Återstoden - 1 .

    24: 2 = 12. Återstoden - 0 .

    12: 2 = 6. Återstoden - 0 .

    6: 2 = 3. Återstoden - 0 .

    3: 2 = 1 . Återstoden - 1 .

Eftersom den sista ofullständiga kvoten är 1 är processen över. Vi skriver ner alla rester nerifrån och upp, börjar med den sista ofullständiga kvoten, och vi får talet 1100010. Så 98 10 \u003d 1100010 2.

2.2 2391 10 → X 16 .

Dividera talet med 16. Dela sedan delkvoten med 16. Fortsätt tills delkvoten är mindre än 16.

    2391: 16 = 149. Återstoden - 7 .

    149: 16 = 9 . Återstoden - 5 .

Eftersom den sista ofullständiga kvoten (9) är mindre än 16 är processen över. Vi skriver ner, med början från den sista ofullständiga kvoten, alla rester nerifrån och upp och får numret 957. Så 2391 10 \u003d 957 16.

2.3 12165 10 → X 2 .

Om du översätter division till ett binärt system får du en nöjd besvärlig process. Du kan först konvertera talet till det oktala systemet och sedan ersätta de oktala siffrorna från höger till vänster med triader.

12165 10 = 27605 8 = 010 111 110 000 101 = 10111110000101.

    Bestämning av talsystemets bassid .

En pojke skrev om sig själv så här: "Jag har 24 fingrar, 5 på varje hand och 12 på mina fötter." Hur kan det vara såhär?

Lösning. Bestäm basen för talsystemet sid. Eftersom vi vet att det bara finns 10 10 tår, då 12 sid =1∙sid+2 = 10 10 . Härifrån får vi ekvationen sid + 2 = 10  sid= 8. Pojken menade alltså tal i det oktala systemet. Det finns faktiskt 24 8 = 2∙8+4 = 20 10 fingrar totalt, och 12 8 = 1∙8+2 = 10 10 på benen.

Har sitt ursprung i det antika Babylon. I Indien fungerar systemet i form av positionsdecimalnumrering med noll, för indianer detta system siffror lånades av den arabiska nationen, de togs i sin tur av européerna. I Europa började detta system kallas arabiska.

Positionssystemberäkning- värdet av alla siffror beror på positionen (siffran) för denna siffra i numret.

Exempel, är standardsystemet för decimaltal ett positionssystem. Låt oss säga att du får ett nummer453 . siffra 4 står för hundratals och motsvarar ett tal400, 5 - antal tiotal och motsvarar värdet50 , A 3 - enheter och värde3 . Det är lätt att se att när siffran ökar så ökar värdet. Således skriver vi det givna talet som en summa400+50+3=453.

Hexadecimalt talsystem.

Hexadecimalt talsystem(hexadecimala tal) - positionsnummersystem. Basen för det hexadecimala talsystemetär nummer 16.

När vi skriver tal i oktal får vi ganska kompakta uttryck, men i hexadecimala får vi mer kompakta uttryck.

De första tio siffrorna av de sexton hexadecimala siffrorna är standardmellanrum 0 - 9 , de nästa sex siffrorna uttrycks med de första bokstäverna i det latinska alfabetet: A, B, C, D, E, F. Konvertering från hexadecimal till binär och vice versa görs på samma sätt som för oktal.

Tillämpning av det hexadecimala talsystemet.

Det hexadecimala talsystemet används ganska väl i moderna datorer, Till exempel med dess hjälp ange färgen: #FFFFFF- Vit färg.

Konvertera tal från ett talsystem till ett annat.

Konvertera tal från hexadecimal till decimal.

För att konvertera ett hexadecimalt tal till decimalt måste du föra det givna talet till formen av summan av produkterna av graderna i basen i det hexadecimala talsystemet med motsvarande siffror i siffrorna i det hexadecimala talet.

Till exempel, översätt det hexadecimala talet 5A3 till decimal. Här 3 tal. Baserat på ovanstående regel tar vi den till formen av summan av grader med bas 16:

5A3 16 = 3 16 0 +10 16 1 +5 16 2 = 3 1+10 16+5 256 = 3+160+1280 = 1443 10

Konvertera tal från binära till hexadecimala och vice versa.

Att översätta multi-valued binärt tal i det hexadecimala systemet måste du dela upp det i tetrader från höger till vänster och ändra alla tetrader med motsvarande hexadecimala siffra. För att konvertera ett tal från hexadecimalt till binärt måste du ändra alla siffror till motsvarande tetrader från omvandlingstabellen, som du hittar nedan.

Till exempel:

010110100011 2 = 0101 1010 0011 = 5A3 16

Nummerkonverteringstabell.

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

1. Från decimaltalssystemet:

  • vi dividerar talet med basen av det talsystem som översätts;
  • hitta resten genom att dividera heltalsdelen av talet;
  • skriv ner alla rester av divisionen i omvänd ordning;

2. Från det binära talsystemet:

  • för att konvertera till decimaltalssystemet hittar vi summan av produkterna av bas 2 med motsvarande grad av urladdning;
  • för att omvandla ett tal till oktalt delar vi talet i triader.

Till exempel, 1000110 = 1000 110 = 1068

  • för att konvertera ett tal från binärt till hexadecimalt delar vi in ​​talet i grupper med fyra siffror.

Till exempel, 1000110 = 100 0110 = 4616.

Översättningstabeller:

Binär SS

Hexadecimal SS

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

1010

1011

1100

1101

1110

1111

Binär SS