Kryptera ord i binär kod. Kodning av textinformation. Konvertera ett binärt systemnummer till decimal


Aryabhata
Kyrillisk
grekisk georgiska
etiopisk
judisk
Akshara-sankhya Övrig babyloniska
egyptisk
etruskiska
Roman
Donau Attic
Kipu
Maya
Egeiska havet
KPPU-symboler Positionell , , , , , , , , , , Nega-positionell Symmetrisk Blandade system Fibonacci Icke-positionell Enhet (unär)

Binärt talsystem- positionsnummersystem med bas 2. Tack vare dess direkta implementering i digitala elektroniska kretsar som använder logiska grindar, används det binära systemet i nästan alla moderna datorer och andra datorelektronikenheter.

Binär notation av tal

I det binära talsystemet skrivs tal med två symboler ( 0 Och 1 ). För att undvika förvirring om vilket nummersystem numret är skrivet i är det försett med en indikator längst ner till höger. Till exempel ett tal i decimalsystemet 5 10 , i binärt 101 2 . Ibland betecknas ett binärt tal med ett prefix 0b eller symbol & (ampersand), Till exempel 0b101 eller i enlighet därmed &101 .

I det binära talsystemet (som i andra talsystem utom decimal) läses siffrorna en i taget. Till exempel uttalas siffran 101 2 "en noll en."

Heltal

Ett naturligt tal skrivet i binärt talsystem som (a n − 1 a n − 2 … a 1 a 0) 2 (\displaystyle (a_(n-1)a_(n-2)\dots a_(1)a_(0))_(2)), har betydelsen:

(a n − 1 a n − 2 … a 1 a 0) 2 = ∑ k = 0 n − 1 a k 2 k , (\displaystyle (a_(n-1)a_(n-2)\dots a_(1)a_( 0))_(2)=\summa _(k=0)^(n-1)a_(k)2^(k),)

Negativa tal

Negativa binära tal betecknas på samma sätt som decimaltal: med ett "−"-tecken framför talet. Nämligen ett negativt heltal skrivet i binärt talsystem (− a n − 1 a n − 2 … a 1 a 0) 2 (\displaystyle (-a_(n-1)a_(n-2)\dots a_(1)a_(0))_(2)), har värdet:

(− a n − 1 a n − 2 … a 1 a 0) 2 = − ∑ k = 0 n − 1 a k 2 k . (\displaystyle (-a_(n-1)a_(n-2)\dots a_(1)a_(0))_(2)=-\summa _(k=0)^(n-1)a_( k)2^(k).)

ytterligare kod.

Bråktal

Ett bråktal skrivet i binärt talsystem som (a n − 1 a n − 2 … a 1 a 0 , a − 1 a − 2 … a − (m − 1) a − m) 2 (\displaystyle (a_(n-1)a_(n-2)\dots a_(1)a_(0),a_(-1)a_(-2)\prickar a_(-(m-1))a_(-m))_(2)), har värdet:

(a n − 1 a n − 2 … a 1 a 0 , a − 1 a − 2 … a − (m − 1) a − m) 2 = ∑ k = − m n − 1 a k 2 k , (\displaystyle (a_( n-1)a_(n-2)\prickar a_(1)a_(0),a_(-1)a_(-2)\prickar a_(-(m-1))a_(-m))_( 2)=\summa _(k=-m)^(n-1)a_(k)2^(k),)

Addera, subtrahera och multiplicera binära tal

Tilläggstabell

Ett exempel på kolumntillägg (decimaluttrycket 14 10 + 5 10 = 19 10 i binärt ser ut som 1110 2 + 101 2 = 10011 2):

Exempel på kolumnmultiplicering (decimaluttrycket 14 10 * 5 10 = 70 10 i binärt ser ut som 1110 2 * 101 2 = 1000110 2):

Från och med siffran 1 multipliceras alla tal med två. Punkten som kommer efter 1:an kallas den binära punkten.

Konvertera binära tal till decimaler

Låt oss säga att vi får ett binärt tal 110001 2 . För att konvertera till decimal, skriv det som en summa med siffror enligt följande:

1 * 2 5 + 1 * 2 4 + 0 * 2 3 + 0 * 2 2 + 0 * 2 1 + 1 * 2 0 = 49

Samma sak lite annorlunda:

1 * 32 + 1 * 16 + 0 * 8 + 0 * 4 + 0 * 2 + 1 * 1 = 49

Du kan skriva detta i tabellform så här:

512 256 128 64 32 16 8 4 2 1
1 1 0 0 0 1
+32 +16 +0 +0 +0 +1

Flytta från höger till vänster. Under varje binär enhet skriver du dess motsvarighet på raden nedan. Lägg till de resulterande decimaltalen. Således är det binära talet 110001 2 ekvivalent med decimaltalet 49 10.

Konvertera binära bråktal till decimaltal

Behöver konvertera numret 1011010,101 2 till decimalsystemet. Låt oss skriva detta nummer så här:

1 * 2 6 + 0 * 2 5 + 1 * 2 4 + 1 * 2 3 + 0 * 2 2 + 1 * 2 1 + 0 * 2 0 + 1 * 2 −1 + 0 * 2 −2 + 1 * 2 −3 = 90,625

Samma sak lite annorlunda:

1 * 64 + 0 * 32 + 1 * 16 + 1 * 8 + 0 * 4 + 1 * 2 + 0 * 1 + 1 * 0,5 + 0 * 0,25 + 1 * 0,125 = 90,625

Eller enligt tabellen:

64 32 16 8 4 2 1 0.5 0.25 0.125
1 0 1 1 0 1 0 , 1 0 1
+64 +0 +16 +8 +0 +2 +0 +0.5 +0 +0.125

Transformation med Horners metod

För att konvertera tal från binära till decimaler med den här metoden måste du summera talen från vänster till höger, multiplicera det tidigare erhållna resultatet med systemets bas (i det här fallet 2). Horners metod används vanligtvis för att konvertera från binärt till decimalsystem. Den omvända operationen är svår, eftersom den kräver färdigheter i addition och multiplikation i det binära talsystemet.

Till exempel binärt tal 1011011 2 omvandlas till decimalsystem enligt följande:

0*2 + 1 = 1
1*2 + 0 = 2
2*2 + 1 = 5
5*2 + 1 = 11
11*2 + 0 = 22
22*2 + 1 = 45
45*2 + 1 = 91

Det vill säga, i decimalsystemet kommer detta tal att skrivas som 91.

Konvertera bråkdelen av tal med Horners metod

Siffrorna tas från talet från höger till vänster och dividerat med talsystembasen (2).

Till exempel 0,1101 2

(0 + 1 )/2 = 0,5
(0,5 + 0 )/2 = 0,25
(0,25 + 1 )/2 = 0,625
(0,625 + 1 )/2 = 0,8125

Svar: 0,1101 2 = 0,8125 10

Konvertera decimaltal till binärt

Låt oss säga att vi måste konvertera talet 19 till binärt. Du kan använda följande procedur:

19/2 = 9 med resten 1
9/2 = 4 med resten 1
4/2 = 2 utan rest 0
2/2 = 1 utan rest 0
1/2 = 0 med resten 1

Så vi dividerar varje kvot med 2 och skriver resten i slutet av den binära notationen. Vi fortsätter att dividera tills kvoten är 0. Vi skriver resultatet från höger till vänster. Det vill säga att den nedersta siffran (1) kommer att vara längst till vänster, etc. Som ett resultat får vi talet 19 i binär notation: 10011 .

Konvertera bråktal decimaltal till binärt

Om det ursprungliga talet har en heltalsdel, konverteras det separat från bråkdelen. Att konvertera ett bråktal från det decimala talsystemet till det binära systemet utförs med hjälp av följande algoritm:

  • Bråket multipliceras med basen i det binära talsystemet (2);
  • I den resulterande produkten är heltalsdelen isolerad, vilket tas som den mest signifikanta siffran i talet i det binära talsystemet;
  • Algoritmen avslutas om bråkdelen av den resulterande produkten är lika med noll eller om den erforderliga beräkningsnoggrannheten uppnås. I annat fall fortsätter beräkningarna på den del av produkten.

Exempel: Du måste konvertera ett decimaltal 206,116 till ett binärt bråktal.

Översättning av hela delen ger 206 10 =11001110 2 enligt de tidigare beskrivna algoritmerna. Vi multiplicerar bråkdelen av 0,116 med bas 2 och anger heltalsdelarna av produkten i decimalerna för det önskade binära bråktalet:

0,116 2 = 0 ,232
0,232 2 = 0 ,464
0,464 2 = 0 ,928
0,928 2 = 1 ,856
0,856 2 = 1 ,712
0,712 2 = 1 ,424
0,424 2 = 0 ,848
0,848 2 = 1 ,696
0,696 2 = 1 ,392
0,392 2 = 0 ,784
etc.

Alltså 0,116 10 ≈ 0, 0001110110 2

Vi får: 206.116 10 ≈ 11001110.0001110110 2

Ansökningar

I digitala enheter

Det binära systemet används i digitala enheter eftersom det är det enklaste och uppfyller kraven:

  • Ju färre värden det finns i systemet, desto lättare är det att tillverka individuella element som fungerar på dessa värden. I synnerhet kan två siffror i det binära talsystemet enkelt representeras av många fysiska fenomen: det finns en ström (strömmen är större än tröskelvärdet) - det finns ingen ström (strömmen är mindre än tröskelvärdet), magnetfältsinduktion är större än tröskelvärdet eller inte (magnetfältsinduktionen är mindre än tröskelvärdet) etc.
  • Ju färre tillstånd ett element har, desto högre är brusimmuniteten och desto snabbare kan den fungera. Till exempel, för att koda tre tillstånd genom storleken på spänning, ström eller magnetfältsinduktion, måste du införa två tröskelvärden och två komparatorer.

Inom datoranvändning är det flitigt att skriva negativa binära tal i tvås komplement. Till exempel skulle talet −5 10 kunna skrivas som −101 2 men skulle lagras som 2 på en 32-bitars dator.

I det engelska åtgärdssystemet

När linjära dimensioner anges i tum används traditionellt binära bråk snarare än decimaler, till exempel: 5¾″, 7 15/16″, 3 11/32″, etc.

Generaliseringar

Det binära talsystemet är en kombination av det binära kodningssystemet och en exponentiell viktningsfunktion med en bas lika med 2. Det bör noteras att ett tal kan skrivas i binär kod, och att talsystemet kanske inte är binärt, utan med en annan bas. Exempel: BCD-kodning, där decimalsiffror skrivs binärt och talsystemet är decimalt.

Berättelse

  • En komplett uppsättning av 8 trigram och 64 hexagram, analogt med 3-bitars och 6-bitars siffror, var känd i det antika Kina i de klassiska texterna i Book of Changes. Ordningen på hexagram i förändringsbok, arrangerade i enlighet med värdena för motsvarande binära siffror (från 0 till 63), och metoden för att erhålla dem utvecklades av den kinesiske vetenskapsmannen och filosofen Shao Yong på 1000-talet. Det finns dock inga bevis som tyder på att Shao Yun förstod reglerna för binär aritmetik, och ordnade tuplar med två tecken i lexikografisk ordning.
  • Uppsättningar, som är kombinationer av binära siffror, användes av afrikaner i traditionell spådom (som Ifa) tillsammans med medeltida geomancy.
  • År 1854 publicerade den engelske matematikern George Boole ett landmärke som beskrev algebraiska system som tillämpade på logik, vilket nu är känt som boolesk algebra eller logikalgebra. Hans logiska kalkyl var avsedd att spela en viktig roll i utvecklingen av moderna digitala elektroniska kretsar.
  • 1937 lämnade Claude Shannon in sin doktorsavhandling för försvar. Symbolisk analys av relä- och kopplingskretsar där boolesk algebra och binär aritmetik användes i relation till elektroniska reläer och omkopplare. All modern digital teknik bygger i huvudsak på Shannons avhandling.
  • I november 1937 skapade George Stibitz, som senare arbetade på Bell Labs, "Model K"-datorn baserad på reläer. K itchen", köket där monteringen utfördes), som utförde binär addition. I slutet av 1938 lanserade Bell Labs ett forskningsprogram ledd av Stiebitz. Datorn som skapades under hans ledning, färdig den 8 januari 1940, kunde utföra operationer med komplexa tal. Under en demonstration vid American Mathematical Society-konferensen vid Dartmouth College den 11 september 1940 visade Stibitz förmågan att skicka kommandon till en fjärrkalkylator för komplexa tal över en telefonlinje med hjälp av en teletypmaskin. Detta var det första försöket att använda en fjärrdator via en telefonlinje. Konferensdeltagare som bevittnade demonstrationen var bland andra John von Neumann, John Mauchly och Norbert Wiener, som senare skrev om det i sina memoarer.

se även

Anteckningar

  1. Popova Olga Vladimirovna. Lärobok i datavetenskap (odefinierad) .

Binär kod är en form av att registrera information i form av ettor och nollor. Detta är positionellt med basen 2. Idag används binär kod (tabellen som presenteras lite nedan innehåller några exempel på att skriva siffror) i alla digitala enheter utan undantag. Dess popularitet förklaras av den höga tillförlitligheten och enkelheten hos denna form av inspelning. Binär aritmetik är mycket enkel, och därför är den lätt att implementera på hårdvarunivå. komponenter (eller, som de också kallas, logiska) är mycket tillförlitliga, eftersom de bara fungerar i två tillstånd: logisk en (det finns ström) och logisk noll (ingen ström). Således jämför de gynnsamt med analoga komponenter, vars funktion är baserad på transienta processer.

Hur är binär notation sammansatt?

Låt oss ta reda på hur en sådan nyckel bildas. En bit binär kod kan bara innehålla två tillstånd: noll och ett (0 och 1). När man använder två bitar blir det möjligt att skriva fyra värden: 00, 01, 10, 11. En trebitars post innehåller åtta tillstånd: 000, 001 ... 110, 111. Som ett resultat finner vi att längden av den binära koden beror på antalet bitar. Detta uttryck kan skrivas med följande formel: N =2m, där: m är antalet siffror och N är antalet kombinationer.

Typer av binära koder

I mikroprocessorer används sådana nycklar för att registrera olika bearbetad information. Bredden på den binära koden kan avsevärt överstiga dess inbyggda minne. I sådana fall upptar långa nummer flera lagringsplatser och bearbetas med flera kommandon. I detta fall betraktas alla minnessektorer som är allokerade för multi-byte binär kod som ett enda nummer.

Beroende på behovet av att tillhandahålla den eller den informationen särskiljs följande typer av nycklar:

  • osignerad;
  • direkta heltalsteckenkoder;
  • undertecknade inverser;
  • underteckna ytterligare;
  • Grå kod;
  • Grå Express-kod;
  • bråkdelar.

Låt oss ta en närmare titt på var och en av dem.

Osignerad binär kod

Låt oss ta reda på vad den här typen av inspelning är. I heltalskoder utan tecken representerar varje siffra (binär) en potens av två. I det här fallet är det minsta talet som kan skrivas i denna form noll, och det maximala kan representeras av följande formel: M = 2 n -1. Dessa två siffror definierar helt intervallet för nyckeln som kan användas för att uttrycka en sådan binär kod. Låt oss titta på funktionerna i det nämnda inspelningsformuläret. När du använder denna typ av osignerad nyckel, bestående av åtta bitar, kommer intervallet för möjliga siffror att vara från 0 till 255. En sexton-bitars kod kommer att ha ett intervall från 0 till 65535. I åtta-bitars processorer används två minnessektorer att lagra och skriva sådana nummer, som finns på angränsande destinationer . Specialkommandon ger arbete med sådana nycklar.

Direkta heltalssignerade koder

I denna typ av binär nyckel används den mest signifikanta biten för att registrera talets tecken. Noll motsvarar ett plus och ett motsvarar ett minus. Som ett resultat av införandet av denna siffra skiftar intervallet av kodade siffror till den negativa sidan. Det visar sig att en binär nyckel med åttabitars signerad heltal kan skriva tal i intervallet från -127 till +127. Sexton-bitar - i intervallet från -32767 till +32767. Åttabitars mikroprocessorer använder två intilliggande sektorer för att lagra sådana koder.

Nackdelen med denna form av inspelning är att nyckelns tecken och digitala bitar måste behandlas separat. Algoritmerna för program som arbetar med dessa koder visar sig vara mycket komplexa. För att ändra och markera teckenbitar är det nödvändigt att använda mekanismer för att maskera denna symbol, vilket bidrar till en kraftig ökning av programvarans storlek och en minskning av dess prestanda. För att eliminera denna nackdel introducerades en ny typ av nyckel - en omvänd binär kod.

Signerad omvänd nyckel

Denna form av inspelning skiljer sig från direkta koder endast genom att det negativa talet i den erhålls genom att invertera alla bitar i nyckeln. I detta fall är de digitala bitarna och teckenbitarna identiska. Tack vare detta förenklas algoritmer för att arbeta med denna typ av kod avsevärt. Den omvända tangenten kräver dock en speciell algoritm för att känna igen det första siffran och beräkna talets absoluta värde. Samt att återställa tecknet för det resulterande värdet. Dessutom används två nycklar för att skriva noll i omvänd- och framåtkoderna för siffror. Trots att detta värde inte har ett positivt eller negativt tecken.

Signerad tvås komplement binärt tal

Denna typ av post har inte de listade nackdelarna med tidigare nycklar. Sådana koder tillåter direkt summering av både positiva och negativa tal. I detta fall utförs ingen analys av teckenbiten. Allt detta möjliggörs av det faktum att komplementära siffror är en naturlig ring av symboler, snarare än konstgjorda formationer som framåt- och bakåttangenter. En viktig faktor är dessutom att det är extremt enkelt att utföra komplementberäkningar i binära koder. För att göra detta, lägg bara till en till den omvända tangenten. När du använder denna typ av teckenkod, bestående av åtta siffror, kommer intervallet av möjliga nummer att vara från -128 till +127. En sexton-bitars nyckel kommer att ha ett intervall från -32768 till +32767. Åttabitarsprocessorer använder också två intilliggande sektorer för att lagra sådana nummer.

Binär tvås komplementkod är intressant på grund av dess observerbara effekt, som kallas fenomenet teckenutbredning. Låt oss ta reda på vad detta betyder. Denna effekt är att i processen att konvertera ett enkelbytevärde till ett dubbelbyte, räcker det att tilldela värdena för teckenbitarna för den låga byten till varje bit av den höga byten. Det visar sig att du kan använda de mest betydande bitarna för att lagra den signerade. I det här fallet ändras inte värdet på nyckeln alls.

Grå kod

Denna form av inspelning är i huvudsak en ettstegsnyckel. Det vill säga, i övergångsprocessen från ett värde till ett annat ändras bara en bit information. I detta fall leder ett fel vid läsning av data till en övergång från en position till en annan med en liten tidsförskjutning. Att få ett helt felaktigt resultat av vinkelpositionen med en sådan process är dock helt uteslutet. Fördelen med sådan kod är dess förmåga att spegla information. Till exempel, genom att invertera de mest signifikanta bitarna kan du helt enkelt ändra räkneriktningen. Detta sker tack vare komplementkontrollingången. I detta fall kan utgångsvärdet vara antingen ökande eller minskande för en fysisk axelrotationsriktning. Eftersom informationen som registreras i den grå nyckeln är uteslutande kodad till sin natur, som inte bär riktiga numeriska data, innan ytterligare arbete är det nödvändigt att först konvertera den till den vanliga binära inspelningsformen. Detta görs med hjälp av en speciell omvandlare - Gray-Binar-dekodern. Denna enhet är lätt att implementera med hjälp av elementära logiska element i både hårdvara och mjukvara.

Grå expresskod

Greys standard enstegsnyckel är lämplig för lösningar som representeras som siffror, två. I de fall det är nödvändigt att implementera andra lösningar, skärs endast mittsektionen ut från denna form av inspelning och används. Som ett resultat bevaras nyckelns enstegsnatur. Men i den här koden är början av det numeriska området inte noll. Det förskjuts med det angivna värdet. Under databehandlingen subtraheras halva skillnaden mellan den initiala och reducerade upplösningen från de genererade pulserna.

Representation av ett bråktal i binär nyckel med fast punkt

Under arbetets gång måste du inte bara arbeta med heltal utan också med bråk. Sådana nummer kan skrivas med direkta, omvända och komplementära koder. Principen för att konstruera de nämnda nycklarna är densamma som för heltal. Hittills har vi trott att det binära kommatecken borde vara till höger om den minst signifikanta siffran. Men det är inte sant. Den kan placeras till vänster om den mest signifikanta siffran (i det här fallet kan endast bråktal skrivas som en variabel) och i mitten av variabeln (blandade värden kan skrivas).

Binär flyttalsrepresentation

Denna form används för att skriva eller vice versa - mycket liten. Exempel inkluderar interstellära avstånd eller storleken på atomer och elektroner. När man beräknar sådana värden skulle man behöva använda mycket stor binär kod. Vi behöver dock inte ta hänsyn till kosmiska avstånd med millimeterprecision. Därför är notationsformen med fast punkt ineffektiv i detta fall. En algebraisk form används för att visa sådana koder. Det vill säga att talet skrivs som en mantiss multiplicerat med tio till en potens som återspeglar den önskade ordningen på talet. Du bör veta att mantissan inte bör vara större än en, och en nolla ska inte skrivas efter decimalkomma.

Binär kalkyl tros ha uppfunnits i början av 1700-talet av den tyske matematikern Gottfried Leibniz. Men som forskare nyligen upptäckte, långt före den polynesiska ön Mangareva, användes denna typ av aritmetik. Trots det faktum att koloniseringen nästan fullständigt förstörde de ursprungliga talsystemen, har forskare återställt komplexa binära och decimala typer av räkning. Dessutom hävdar kognitionsforskaren Nunez att binär kodning användes i det antika Kina så tidigt som på 900-talet f.Kr. e. Andra forntida civilisationer, som Mayafolket, använde också komplexa kombinationer av decimala och binära system för att spåra tidsintervall och astronomiska fenomen.

En enda digital signal är inte särskilt informativ, eftersom den bara kan ta två värden: noll och ett. I de fall då det är nödvändigt att sända, bearbeta eller lagra stora mängder information används därför vanligtvis flera parallella digitala signaler. Dessutom bör alla dessa signaler endast betraktas samtidigt; var och en av dem separat är inte meningsfull. I sådana fall talar vi om binära koder, det vill säga koder som bildas av digitala (logiska, binära) signaler. Var och en av de logiska signalerna som ingår i koden kallas en bit. Ju fler bitar som ingår i koden, desto fler värden kan denna kod ta.

Till skillnad från den decimalkodning av tal som är bekant för oss, det vill säga en kod med basen tio, med binär kodning, är kodens bas talet två (bild 2.9). Det vill säga att varje kodsiffra (varje siffra) i en binär kod inte kan ta tio värden (som i decimalkod: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9), utan bara två - 0 och 1. Positionsregistreringssystemet förblir detsamma, det vill säga den minst signifikanta siffran skrivs till höger och den mest signifikanta till vänster. Men om vikten av varje efterföljande siffra i decimalsystemet är tio gånger större än vikten av den föregående, så är den i det binära systemet (med binär kodning) dubbelt så stor. Varje bit av binär kod kallas en bit (från engelskan "Binary Digit" - "binary number").

Ris. 2.9. Decimal och binär kodning

I tabell Figur 2.3 visar överensstämmelsen mellan de första tjugo talen i decimal- och binärsystemen.

Tabellen visar att det erforderliga antalet binära kodbitar är betydligt större än det erforderliga antalet decimalkodbitar. Det högsta möjliga antalet med antalet siffror lika med tre är 999 i decimalsystemet och endast 7 i det binära systemet (det vill säga 111 i binär kod). I allmänhet kan ett n-bitars binärt tal anta 2n olika värden och ett n-bitars decimaltal kan anta 10n olika värden. Det vill säga att skriva stora binära tal (med fler än tio siffror) blir inte särskilt bekvämt.

Tabell 2.3. Överensstämmelse mellan tal i decimala och binära system
Decimalsystem Binärt system Decimalsystem Binärt system

För att förenkla registreringen av binära tal föreslogs det så kallade hexadecimala systemet (hexadecimal kodning). I det här fallet delas alla binära bitar in i grupper om fyra bitar (som börjar med den minst signifikanta), och sedan kodas varje grupp med en symbol. Varje sådan grupp kallas knapra(eller knapra, anteckningsbok), och två grupper (8 bitar) - byte. Från bordet 2.3 visar att ett 4-bitars binärt tal kan anta 16 olika värden (från 0 till 15). Därför är det nödvändiga antalet tecken för en hexadecimal kod också 16, därav namnet på koden. De första 10 tecknen är siffrorna från 0 till 9, och sedan används de sex inledande versalerna i det latinska alfabetet: A, B, C, D, E, F.

Ris. 2.10. Binär och hexadecimal notation av tal

I tabell 2.4 visar exempel på hexadecimal kodning av de första 20 talen (binära tal anges inom parentes), och Fig. Figur 2.10 visar ett exempel på att skriva ett binärt tal i hexadecimal form. För att beteckna hexadecimal kodning används ibland bokstaven "h" eller "H" (från engelska Hexadecimal) i slutet av ett tal, till exempel betecknar posten A17F h det hexadecimala talet A17F. Här representerar A1 talets höga byte och 7F är numrets låga byte. Hela numret (i vårt fall ett tvåbytenummer) anropas i ett ord.

Tabell 2.4. Hexadecimalt kodningssystem
Decimalsystem hexadecimalt system Decimalsystem hexadecimalt system
0 (0) A (1010)
1(1) B (1011)
2 (10) C (1100)
3 (11) D (1101)
4 (100) E(1110)
5 (101) F (1111)
6 (110) 10 (10000)
7 (111) 11 (10001)
8 (1000) 12 (10010)
9 (1001) 13 (10011)

För att konvertera ett hexadecimalt tal till ett decimaltal måste du multiplicera värdet på den lägsta (noll) siffran med en, värdet på nästa (första) siffran med 16, 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

Men varje digital utrustningsspecialist (utvecklare, operatör, reparatör, programmerare, etc.) behöver lära sig att hantera hexadecimala och binära system lika fritt som med vanliga decimalsystem, så att inga överföringar från system till system krävs.

Utöver de diskuterade koderna finns även den så kallade binära-decimalrepresentationen av tal. Liksom i hexadecimal kod, i BCD-kod motsvarar varje siffra i koden fyra binära siffror, men varje grupp med fyra binära siffror kan inte ha sexton utan bara tio värden, kodade av tecknen 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 vanlig decimalkod (tabell 2.6), men i verkligheten är det bara en speciell binär kod, där varje siffra bara kan ha två värden: 0 och 1. BCD-kod är ibland mycket praktiskt för att organisera decimala digitala indikatorer och resultattavlor.

Tabell 2.6. Binärt decimalkodningssystem
Decimalsystem Binärt decimalsystem Decimalsystem Binärt decimalsystem
0 (0) 10 (1000)
1(1) 11 (1001)
2 (10) 12 (10010)
3 (11) 13 (10011)
4 (100) 14 (10100)
5 (101) 15 (10101)
6 (110) 16 (10110)
7 (111) 17 (10111)
8 (1000) 18 (11000)
9 (1001) 19 (11001)

I binär kod kan du utföra alla aritmetiska operationer på tal: addition, subtraktion, multiplikation, division.

Överväg till exempel att lägga till 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 i 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 går vidare till nästa siffra 1. Resultatet är 10010 (decimal 18). Att lägga till två n-bitars binära tal kan resultera i ett n-bitars tal eller ett (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:

När vi subtraherar 0 från 0 får vi 0, när vi subtraherar 0 från 1 får vi 1, när vi subtraherar 1 från 1 får vi 0, när vi subtraherar 1 från 0 får vi 1 och lånar 1 i nästa siffra. Resultatet är 1011 (decimal 11).

När du subtraherar är det möjligt att få negativa tal, så du måste använda den binära representationen av negativa tal.

För att samtidigt representera både binära positiva och binära negativa tal används oftast den så kallade tvåkomplementkoden. Negativa tal i denna kod uttrycks av ett tal som, när det läggs till ett positivt tal med samma värde, 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. Skriv till exempel talet –5. Siffran 5 i binär kod ser ut som 0101. Vi ersätter bitarna med de 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 siffran) .

Negativa tal i tvås komplementkod särskiljs från positiva tal genom värdet av den mest signifikanta siffran: en etta i den mest signifikanta siffran definierar ett negativt tal, och en nolla definierar ett positivt tal.

Förutom vanliga aritmetiska operationer använder det binära talsystemet även vissa specifika operationer, till exempel addition modulo 2. Denna operation (betecknad med A) är bitvis, det vill säga det finns inga överföringar från en siffra till en annan och inga lån i de högsta siffrorna. Reglerna för addition modulo 2 är följande: , , . Samma operation kallas en funktion Exklusiv ELLER. Låt oss till exempel summera 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 etta endast om 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.

Den uppsättning tecken som text skrivs med kallas alfabet.

Antalet tecken i alfabetet är dess kraft.

Formel för att bestämma mängden information: N=2b,

där N är kraften i alfabetet (antal tecken),

b – antal bitar (symbolens informationsvikt).

Alfabetet med en kapacitet på 256 tecken kan rymma nästan alla nödvändiga tecken. Detta alfabet kallas tillräcklig.

Därför att 256 = 2 8, då vikten av 1 tecken är 8 bitar.

Måttenheten 8 bitar fick namnet 1 byte:

1 byte = 8 bitar.

Den binära koden för varje tecken i datortext tar upp 1 byte minne.

Hur representeras textinformation i datorns minne?

Bekvämligheten med byte-för-byte-teckenkodning är uppenbar eftersom en byte är den minsta adresserbara delen av minnet och därför kan processorn komma åt varje tecken separat vid bearbetning av text. Å andra sidan är 256 tecken ett tillräckligt antal för att representera en mängd olika symbolisk information.

Nu uppstår frågan vilken åttabitars binär kod som ska tilldelas varje tecken.

Det är tydligt att detta är en villkorlig fråga; du kan komma på många kodningsmetoder.

Alla tecken i datoralfabetet är numrerade från 0 till 255. Varje nummer motsvarar en åttabitars binär kod från 00000000 till 11111111. Denna kod är helt enkelt serienumret för tecknet i det binära talsystemet.

En tabell där alla tecken i datoralfabetet tilldelas serienummer kallas en kodningstabell.

Olika typer av datorer använder olika kodningstabeller.

Bordet har blivit den internationella standarden för datorer ASCII(läs aski) (American Standard Code for Information Interchange).

ASCII-kodtabellen är uppdelad i två delar.

Endast den första halvan av tabellen är den internationella standarden, d.v.s. symboler med siffror från 0 (00000000), upp till 127 (01111111).

ASCII-kodningstabellstruktur

Serienummer

Koda

Symbol

0 - 31

00000000 - 00011111

Symboler med siffror från 0 till 31 brukar kallas kontrollsymboler.
Deras funktion är att styra processen att visa text på skärmen eller skriva ut, avge en ljudsignal, markera text, etc.

32 - 127

00100000 - 01111111

Standard del av tabellen (engelska). Detta inkluderar gemener och versaler i det latinska alfabetet, decimaltal, skiljetecken, alla typer av parenteser, kommersiella och andra symboler.
Karaktär 32 är ett mellanslag, dvs. tom plats i texten.
Alla andra reflekteras av vissa tecken.

128 - 255

10000000 - 11111111

Alternativ del av tabellen (ryska).
Den andra halvan av ASCII-kodtabellen, som kallas kodtabellen (128 koder, som börjar från 10000000 och slutar med 11111111), kan ha olika alternativ, varje alternativ har sitt eget nummer.
Teckentabellen används främst för att rymma andra nationella alfabet än latin. I ryska nationella kodningar placeras tecken från det ryska alfabetet i denna del av tabellen.

Första halvan av ASCII-kodtabellen


Observera att i kodningstabellen är bokstäver (versaler och gemener) ordnade i alfabetisk ordning, och siffrorna i stigande ordning. Detta iakttagande av lexikografisk ordning i arrangemanget av symboler kallas principen för sekventiell kodning av alfabetet.

För bokstäver i det ryska alfabetet observeras också principen om sekventiell kodning.

Andra halvan av ASCII-kodtabellen


Tyvärr finns det för närvarande fem olika kyrilliska kodningar (KOI8-R, Windows. MS-DOS, Macintosh och ISO). På grund av detta uppstår ofta problem med att överföra rysk text från en dator till en annan, från ett programsystem till ett annat.

Kronologiskt var en av de första standarderna för att koda ryska bokstäver på datorer KOI8 ("Informationsutbyteskod, 8-bitars"). Denna kodning användes redan på 70-talet på datorer i ES-datorserien, och från mitten av 80-talet började den användas i de första russifierade versionerna av UNIX-operativsystemet.

Från början av 90-talet, tiden för dominansen av MS DOS-operativsystemet, finns CP866-kodningen kvar ("CP" betyder "Code Page", "code page").

Apple-datorer som kör Mac OS-operativsystemet använder sin egen Mac-kodning.

Dessutom har International Standards Organization (ISO) godkänt en annan kodning kallad ISO 8859-5 som en standard för det ryska språket.

Den vanligaste kodningen som används för närvarande är Microsoft Windows, förkortat CP1251.

Sedan slutet av 90-talet har problemet med att standardisera teckenkodning lösts genom införandet av en ny internationell standard kallad Unicode. Detta är en 16-bitars kodning, dvs. den tilldelar 2 byte minne för varje tecken. Naturligtvis ökar detta mängden upptaget minne med 2 gånger. Men en sådan kodtabell tillåter inkludering av upp till 65536 tecken. Den fullständiga specifikationen av Unicode-standarden inkluderar alla existerande, utdöda och artificiellt skapade alfabet i världen, såväl som många matematiska, musikaliska, kemiska och andra symboler.

Låt oss försöka använda en ASCII-tabell för att föreställa oss hur ord kommer att se ut i datorns minne.

Intern representation av ord i datorns minne

Ibland händer det att en text som består av bokstäver i det ryska alfabetet som tas emot från en annan dator inte kan läsas - någon form av "abracadabra" är synlig på skärmen. Detta beror på att datorer använder olika teckenkodningar för det ryska språket.

Verktyg för att göra binära omvandlingar. Binär kod är ett numeriskt system som använder bas 2 som används i informatik, symboler som används i binär notation är vanligtvis noll och ett (0 och 1).

Svar på frågor

Du kan redigera denna fråga och svar (lägg till ny information, förbättra översättningen etc.) " itemscope="" itemtype="http://schema.org/Question">

Hur konverterar man ett tal till binärt?

Att konvertera ett tal till binärt (med nollor och ettor) består av en från bas 10 till bas 2 (naturlig binär kod)

Exempel: 5 (bas 10) = 1*2^2+0*2^1+1*2^0 = 101 (bas 2)

Metoden består i att göra successiva divisioner med 2 och notera resten (0 eller 1 ) i omvänd ordning.

Exempel: 6/2 = 3 förblir 0, sedan återstår 3/2 = 1 1, sedan återstår 1/2 = 0 1. De på varandra följande resterna är 0,1,1 så 6 skrivs 110 i binärt.

Du kan redigera denna fråga och svar (lägg till ny information, förbättra översättningen etc.) " itemscope="" itemtype="http://schema.org/Question">

Hur konverterar man en text till binär?

Associera ett nummer till varje bokstav i alfabetet, till exempel genom att använda koden eller . Detta kommer att ersätta varje bokstav med en siffra som sedan kan konverteras till binär (se ovan).

Exempel: AZ är 65.90 () så 1000001.1011010 i binärt

På liknande sätt för binär till textöversättning, konvertera binären till ett tal och associera sedan siffran med en bokstav i den önskade koden.

Du kan redigera denna fråga och svar (lägg till ny information, förbättra översättningen etc.) " itemscope="" itemtype="http://schema.org/Question">

Hur man översätter binärt

Binären översätter inte direkt, vilket nummer som helst kodat i binärt förblir en siffra. Däremot är det vanligt inom datavetenskap att använda binär för att lagra text, till exempel genom att använda tabellen som associerar en siffra med en bokstav. En översättare finns tillgänglig på dCode.

Du kan redigera denna fråga och svar (lägg till ny information, förbättra översättningen etc.) " itemscope="" itemtype="http://schema.org/Question">

Vad är lite?

En bit (sammandragning av binär siffra) är en symbol i den binära notationen: 0 eller 1.

Du kan redigera denna fråga och svar (lägg till ny information, förbättra översättningen etc.) " itemscope="" itemtype="http://schema.org/Question">

Vad är 1"s komplement?

Inom informatik är ens komplement att skriva ett tal negativt inverserande 0 och 1.

Exempel: 0111 blir 1000, så 7 blir -7

Du kan redigera denna fråga och svar (lägg till ny information, förbättra översättningen etc.) " itemscope="" itemtype="http://schema.org/Question">

Vad är 2"s komplement?

Inom informatik är ens komplement att skriva ett tal som negativt inverterar 0 och 1 och lägger till 1.

Exempel: 0111 blir 1001

Ställ en ny fråga

Källkod

dCode behåller ägandet av källkoden för skriptet Binary Code online. Förutom explicit licens med öppen källkod (anges Creative Commons / gratis), valfri algoritm, applet, kodavsnitt, programvara (omvandlare, lösare, kryptering / dekryptering, kodning / avkodning, kryptering / dechiffrering, översättare) eller vilken funktion som helst (konvertera, lösa, dekryptera , kryptera, dechiffrera, chiffrera, avkoda, koda, översätta) skrivet på vilket informationsspråk som helst (PHP, Java, C#, Python, Javascript, Matlab, etc.) som dCode äger rättigheterna kommer inte att släppas gratis. För att ladda ner binärkodsskriptet online för offlineanvändning på PC, iPhone eller Android, fråga efter prisuppgift på