Binär online med lösning. Metoder för att översätta nummer från ett nummersystem till ett annat


Instruktioner

Relaterade videoklipp

I räkningssystemet som vi använder varje dag finns det tio siffror - från noll till nio. Därför kallas det decimal. Men i tekniska beräkningar, särskilt de som är relaterade till datorer, andra systemi synnerhet binär och hexadecimal. Därför måste du kunna översätta tal från en system död räkning.

Du kommer behöva

  • - ett papper;
  • - penna eller penna
  • - miniräknare.

Instruktioner

Det binära systemet är det enklaste. Den har bara två siffror - noll och en. Varje siffra i binär tal, från början, motsvarar en effekt på två. Två är lika med en, den första är lika med två, den andra är lika med fyra, den tredje är lika med åtta, och så vidare.

Antag att du får ett binärt nummer 1010110. Enheterna ligger på andra, tredje, femte och sjunde platsen från slutet. Därför är detta tal i decimalsystemet 2 ^ 1 + 2 ^ 2 + 2 ^ 4 + 2 ^ 6 \u003d 2 + 4 + 16 + 64 \u003d 86.

Omvändt problem - decimal tal systemet. Antag att du har siffran 57. För att få posten måste du sekventiellt dela detta nummer med 2 och skriva resten av divisionen. Det binära numret byggs från början till början.
Det första steget ger dig den sista siffran: 57/2 \u003d 28 (resten 1).
Sedan får du den andra från slutet: 28/2 \u003d 14 (resten 0).
Ytterligare steg: 14/2 \u003d 7 (resten 0);
7/2 \u003d 3 (resten 1);
3/2 \u003d 1 (resten 1);
1/2 \u003d 0 (resten 1).
Detta är det sista steget, eftersom uppdelningen är noll. Som ett resultat fick du det binära numret 111001.
Kontrollera att ditt svar är korrekt: 111001 \u003d 2 ^ 0 + 2 ^ 3 + 2 ^ 4 + 2 ^ 5 \u003d 1 + 8 + 16 + 32 \u003d 57.

Den andra, som används inom datavetenskap, är hexadecimal. Den har inte tio, men sexton nummer. För att undvika nya konventioner, de första tio siffrorna i hexadecimalt system betecknas med vanliga siffror och de återstående sex - i latinska bokstäver: A, B, C, D, E, F. decimalteckning de motsvarar talm från 10 till 15. För att undvika förvirring föregås siffran skrivet i hexadecimalt system med ett # -tecken eller 0x-symboler.

Att göra ett tal från hexadecimal system måste du multiplicera vart och ett av dess nummer med motsvarande effekt på sexton och lägga till resultaten. Till exempel är decimaltal # 11A 10 * (16 ^ 0) + 1 * (16 ^ 1) + 1 * (16 ^ 2) \u003d 10 + 16 + 256 \u003d 282.

Tillbaka översättning från decimal system i hexadecimal görs med samma restmetod som i binär. Ta till exempel numret 10000. Dela det upprepade gånger med 16 och skriv resten, du får:
10000/16 \u003d 625 (resten 0).
625/16 \u003d 39 (resten 1).
39/16 \u003d 2 (resten 7).
2/16 \u003d 0 (resten 2).
Resultatet av beräkningen blir hexadecimalt tal # 2710.
Kontrollera om ditt svar stämmer: # 2710 \u003d 1 * (16 ^ 1) + 7 * (16 ^ 2) + 2 * (16 ^ 3) \u003d 16 + 1792 + 8192 \u003d 10000.

Överföra tal från hexadecimal system till binär är mycket lättare. Siffran 16 är två: 16 \u003d 2 ^ 4. Därför kan varje hexadecimal siffra skrivas som ett fyrsiffrigt binärt tal. Om du har mindre än fyra siffror i binär, lägg till ledande nollor.
Till exempel # 1F7E \u003d (0001) (1111) (0111) (1110) \u003d 1111101111110.
Kontrollera om svaret är korrekt: båda tal i decimalnotation lika med 8062.

För att översätta måste du dela det binära numret i grupper om fyra siffror, från början, och ersätta varje sådan grupp med en hexadecimal siffra.
11000110101001 blir till exempel (0011) (0001) (1010) (1001), vilket ger # 31A9 i hex. Svarets riktighet bekräftas genom översättning till decimalnotation: båda tal är lika med 12713.

Tips 5: Hur man konverterar ett tal till binärt

På grund av den begränsade användningen av symboler är det binära systemet det mest praktiska för användning i datorer och andra digitala enheter. Det finns bara två symboler: 1 och 0, så detta systemet används i arbetet med register.

Instruktioner

Binär är positionell, dvs. positionen för varje siffra i numret motsvarar en viss siffra, som är lika med två till motsvarande effekt. Graden börjar vid noll och ökar när du flyttar från höger till vänster. Till exempel, siffra 101 är lika med 1 * 2 ^ 0 + 0 * 2 ^ 1 + 1 * 2 ^ 2 \u003d 5.

Oktala, hexadecimala och decimala system används också i stor utsträckning bland positionssystem. Och om den andra metoden är mer användbar för de första två, är båda tillämpliga för översättning från.

Tänk på decimal till binär systemet genom att dela med 2 för att konvertera decimal siffra 25 tum

Anmärkning 1

Om du vill översätta ett nummer från ett nummersystem till ett annat, är det mer praktiskt att först översätta det till decimaltalsystemet, och först sedan från decimaltalet till något annat nummersystem.

Regler för omvandling av nummer från valfritt talsystem till decimal

Vid databehandling, med maskinaritmetik, spelar omvandlingen av tal från ett nummersystem till ett annat en viktig roll. Nedan följer de grundläggande reglerna för sådana omvandlingar (översättningar).

    När du konverterar ett binärt tal till decimal krävs det att det binära talet representeras som ett polynom, varvid varje element representeras som produkten av siffran för numret och motsvarande effekt av basnumret, i detta fall $ 2 $, och sedan måste du beräkna polynomet enligt reglerna för decimalräkning:

    $ X_2 \u003d A_n \\ cdot 2 ^ (n-1) + A_ (n-1) \\ cdot 2 ^ (n-2) + A_ (n-2) \\ cdot 2 ^ (n-3) + ... + A_2 \\ cdot 2 ^ 1 + A_1 \\ cdot 2 ^ 0 $

Figur 1. Tabell 1

Exempel 1

Siffran $ 11110101_2 $ som ska konverteras till decimalnotation.

Beslut. Med hjälp av tabellen $ 1 $ grader av bas $ 2 $ representerar vi talet som ett polynom:

$ 11110101_2 \u003d 1 \\ cdot 27 + 1 \\ cdot 26 + 1 \\ cdot 25 + 1 \\ cdot 24 + 0 \\ cdot 23 + 1 \\ cdot 22 + 0 \\ cdot 21 + 1 \\ cdot 20 \u003d 128 + 64 + 32 + 16 + 0 + 4 + 0 + 1 \u003d 245_ (10) $

    För att konvertera ett tal från det oktala talsystemet till decimaltal, måste du representera det som ett polynom, varvid varje element representeras som en produkt av siffran för siffran och motsvarande effekt av basnumret, i det här fallet $ 8 $, och sedan måste du beräkna polynomet enligt reglerna för decimalräkning:

    $ X_8 \u003d A_n \\ cdot 8 ^ (n-1) + A_ (n-1) \\ cdot 8 ^ (n-2) + A_ (n-2) \\ cdot 8 ^ (n-3) + ... + A_2 \\ cdot 8 ^ 1 + A_1 \\ cdot 8 ^ 0 $

Figur 2. Tabell 2

Exempel 2

Siffran $ 75013_8 $ för att konvertera till decimalnotation.

Beslut. Med hjälp av tabellen $ 2 $ grader av bas $ 8 $ representerar vi talet som ett polynom:

$ 75013_8 \u003d 7 \\ cdot 8 ^ 4 + 5 \\ cdot 8 ^ 3 + 0 \\ cdot 8 ^ 2 + 1 \\ cdot 8 ^ 1 + 3 \\ cdot 8 ^ 0 \u003d 31243_ (10) $

    För att konvertera ett tal från ett hexadecimalt talsystem till decimal, är det nödvändigt att representera det som ett polynom, varav varje element representeras som en produkt av siffran för numret och motsvarande effekt av basnumret, i detta fall $ 16 $, och sedan måste du beräkna polynomet enligt reglerna för decimalräkning:

    $ X_ (16) \u003d A_n \\ cdot 16 ^ (n-1) + A_ (n-1) \\ cdot 16 ^ (n-2) + A_ (n-2) \\ cdot 16 ^ (n-3) +. .. + A_2 \\ cdot 16 ^ 1 + A_1 \\ cdot 16 ^ 0 $

Figur 3. Tabell 3

Exempel 3

Siffran $ FFA2_ (16) $ konverteras till decimalnotation.

Beslut. Med hjälp av ovanstående tabell på $ 3 $ grader av bas $ 8 $ representerar vi talet som ett polynom:

$ FFA2_ (16) \u003d 15 \\ cdot 16 ^ 3 + 15 \\ cdot 16 ^ 2 + 10 \\ cdot 16 ^ 1 + 2 \\ cdot 16 ^ 0 \u003d 61440 + 3840 + 160 + 2 \u003d 65442_ (10) $

Regler för konvertering av tal från decimaltalsystemet till ett annat

  • För att konvertera ett tal från decimaltalsystemet till binärt måste det sekventiellt delas med $ 2 $ tills det finns en återstod som är mindre än eller lika med $ 1 $. Siffran i det binära systemet representeras som en sekvens av det sista resultatet av delningen och resten av delningen i omvänd ordning.

Exempel 4

Siffran $ 22_ (10) $ omvandlas till binär notation.

Beslut:

Figur 4.

$22_{10} = 10110_2$

  • För att konvertera ett tal från decimaltal till oktalt, måste det sekventiellt delas med $ 8 $ tills det finns en återstod som är mindre än eller lika med $ 7 $. Det oktala talet representeras som en sekvens av siffror för det sista resultatet av delningen och resten av delningen i omvänd ordning.

Exempel 5

Siffran $ 571_ (10) $ omvandlas till oktal notation.

Beslut:

Figur 5.

$571_{10} = 1073_8$

  • För att konvertera ett tal från decimalsystemet till hexadecimalsystemet måste det sekventiellt delas med $ 16 $ tills det finns en återstod som är mindre än eller lika med $ 15 $. Siffran i det hexadecimala systemet representeras som en sekvens av siffror för det sista resultatet av delningen och resten av delningen i omvänd ordning.

Exempel 6

Siffran $ 7467_ (10) $ konverteras till hexadecimal notation.

Beslut:

Figur 6.

$ 7467_ (10) \u003d 1D2B_ (16) $

    För att konvertera en korrekt bråk från decimaltalsystemet till ett icke-decimalt är det nödvändigt att sekventiellt multiplicera bråkdelen av det omvandlade numret med basen av systemet till vilket det krävs att konverteras. Bråk i det nya systemet kommer att presenteras som hela delar av verk, från och med det första.

    Till exempel: $ 0,3125 _ ((10)) $ i oktal kommer att se ut som $ 0,24 _ ((8)) $.

    I det här fallet kan du stöta på ett problem när en oändlig (periodisk) bråk i ett icke-decimaltalsystem kan motsvara en slutlig decimalfraktion. I det här fallet beror antalet siffror i den fraktion som presenteras i det nya systemet på önskad precision. Det bör också noteras att heltal förblir heltal och vanliga bråk förblir bråk i valfritt talsystem.

Regler för konvertering av nummer från ett binärt nummersystem till ett annat

  • För att konvertera ett tal från ett binärt nummersystem till oktalt måste det delas in i triader (tripplar av siffror), med början med den minsta signifikanta biten, om nödvändigt lägga till nollor till den mest signifikanta triaden, ersätt sedan varje triad med motsvarande oktala siffra enligt tabell 4.

Figur 7. Tabell 4

Exempel 7

Konvertera numret $ 1001011_2 $ till Octal-notation.

Beslut... Med hjälp av tabell 4 konverterar vi talet från binärt till oktalt:

$001 001 011_2 = 113_8$

  • För att konvertera ett tal från det binära nummersystemet till hexadecimalt bör det delas upp i tetrader (fyra siffror), med början med den minst signifikanta siffran, om nödvändigt lägga till nollor till den övre, ersätt sedan varje tetrad med motsvarande oktala siffra enligt tabell 4.

Skriv siffran i binär, och krafterna för två från höger till vänster. Till exempel vill vi konvertera det binära talet 10011011 2 till decimal. Låt oss skriva ner det först. Sedan skriver vi två krafter från höger till vänster. Låt oss börja med 2 0, vilket motsvarar "1". Vi ökar graden med en för varje nästa nummer. Vi stannar när antalet element i listan är lika med antalet siffror i ett binärt tal. Vårt exempelnummer, 10011011, innehåller åtta siffror, så en lista med åtta element skulle se ut så här: 128, 64, 32, 16, 8, 4, 2, 1

Skriv siffrorna i det binära numret under lämplig styrka av två. Skriv bara 10011011 under siffrorna 128, 64, 32, 16, 8, 4, 2 och 1 så att varje binär siffra motsvarar dess effekt på två. Den högsta "1" av ett binärt tal måste matcha den högsta "1" av styrkorna för två, och så vidare. Om du föredrar kan du skriva ett binärt tal över styrkor på två. Det viktigaste är att de matchar varandra.

Sammanfoga siffror i binär med motsvarande krafter på två. Rita linjer (från höger till vänster) som ansluter varje efterföljande siffra i det binära numret till kraften två ovanför det. Börja rita linjer genom att ansluta den första siffran i ett binärt nummer med den första effekten på två ovanför den. Rita sedan en linje från den andra siffran i det binära numret till den andra effekten av två. Fortsätt ansluta varje siffra med motsvarande effekt på två. Detta hjälper dig visuellt att se förhållandet mellan två olika siffror.

Skriv ner slutvärdet för varje effekt på två. Gå igenom varje siffra i det binära numret. Om siffran är 1, skriv ner motsvarande effekt av två under siffran. Om detta nummer är 0, skriv det under siffran 0.

  • Eftersom "1" matchar "1" förblir den "1". Eftersom "2" matchar "1" förblir det "2". Eftersom "4" är "0" blir det "0". Eftersom "8" motsvarar "1" blir det "8" och eftersom "16" motsvarar "1" blir det "16". "32" motsvarar "0" och blir "0", "64" motsvarar "0" och blir därför "0", medan "128" motsvarar "1" och blir 128.
  • Lägg till de resulterande värdena. Lägg nu till siffrorna under raden. Här är vad du ska göra: 128 + 0 + 0 + 16 + 8 + 0 + 2 + 1 \u003d 155. Detta är decimalkvivalenten för det binära talet 10011011.

    Skriv ditt svar tillsammans med ett abonnemang som är lika med nummersystemet. Nu är allt du behöver göra att skriva 155 10 för att indikera att du arbetar med ett decimalsvar som fungerar med tio styrkor. Ju mer du konverterar binära tal till decimaltal, desto lättare blir det för dig att komma ihåg kraften i två, och desto snabbare kan du slutföra uppgiften.

  • Använd den här metoden för att konvertera ett binärt tal med en decimal till decimal. Du kan använda den här metoden även om du vill konvertera ett binärt tal som 1.1 2 till decimal. Allt du behöver veta är att siffran till vänster om decimaltal är ett vanligt tal, och siffran till höger om decimaltal är antalet "halvor" eller 1 x (1/2).

    • "1" till vänster om decimaltal motsvarar 2 0, eller 1. 1 till höger om decimaltal motsvarar 2 -1 eller 5. Lägg till 1 och 5 så får du 1,5, vilket är decimalkvivalenten 1,1 2.
  • Hej webbplatsbesökare! Vi fortsätter att studera IP-nätverksskiktprotokollet, eller, för att vara mer exakt, dess version IPv4. Vid första anblicken, ämnet binära tal och binärt talsystem har inget att göra med IP-protokollet, men om vi kommer ihåg att datorer arbetar med nollor och enor, visar det sig att det binära systemet och dess förståelse är grunden för grunderna, vi behöver lära sig att konvertera tal från binär till decimal och vice versa: decimal till binär... Detta hjälper oss att bättre förstå IP-protokollet och hur nätverksmasker med variabel längd fungerar. Låt oss börja!

    Om du är intresserad av ämnet datanätverk kan du bekanta dig med andra anteckningar från kursen.

    4.4.1 Inledning

    Innan vi börjar är det värt att förklara varför en nätverksingenjör alls behöver detta ämne. Även om du kunde vara övertygad om dess behov när vi pratade, men du kan säga att det finns IP-kalkylatorer som i hög grad underlättar uppgiften att tilldela IP-adresser, beräkna nödvändiga undernät / nätverksmasker och bestämma nätverksnummer och värdnummer i IP adress. Detta är så, men IP-kalkylatorn är inte alltid till hands, det är orsaken till antalet gånger. Anledning nummer två är att Cisco-tentorna inte ger dig en IP-kalkylator och det är det. omvandla IP-adresser från decimal till binär måste du göra på ett papper, och det finns inte så få frågor där detta krävs på provet / tentorna för att få ett CCNA-certifikat, det är synd om provet är överväldigat på grund av en sådan bagatell. Och slutligen leder förståelsen av det binära nummersystemet till en bättre förståelse för hur det fungerar.

    I allmänhet krävs inte en nätverksingenjör för att kunna översätta siffror från binär till decimal och vice versa i huvudet. Dessutom är det sällan någon som vet hur man gör det i sitt sinne, främst lärare på olika kurser i datanätverk tillhör denna kategori, eftersom de ständigt står inför detta från dag till dag. Men med ett papper och en penna bör du lära dig att översätta.

    4.4.2 Decimala siffror och siffror, platser i siffror

    Låt oss börja enkelt och prata om binära tal och siffror, du vet att siffror och siffror är två olika saker. Ett tal är en speciell symbol för beteckning, och ett tal är en abstrakt notation som betyder kvantitet. För att till exempel skriva ner att vi har fem fingrar på handen kan vi använda romerska och arabiska siffror: V och 5. I det här fallet är fem både ett tal och en siffra samtidigt. Och till exempel för att skriva siffran 20 använder vi två siffror: 2 och 0.

    Totalt har vi i decimaltalsystemet tio siffror eller tio tecken (0,1,2,3,4,5,6,7,8,9) genom att kombinera vilka vi kan skriva olika siffror. Vilken princip styrs med hjälp av decimaltalsystemet? Ja, allt är väldigt enkelt, vi höjer tio till en eller annan grad, till exempel, låt oss ta siffran 321. Hur kan det skrivas annorlunda, men så här: 3 * 10 2 + 2 * 10 1 + 1 * 10 0. Således visar det sig att siffran 321 representerar tre siffror:

    1. Nummer 3 betyder den viktigaste biten, eller i det här fallet är det platsen för hundratals, annars är deras antal.
    2. Siffran 2 ligger på tiotalet, vi har två tiotal.
    3. Siffra en avser den minst signifikanta siffran.

    Det vill säga, i denna post är en två inte bara en två, utan två tiotals eller två gånger tio. En tre är inte bara en tre, utan tre gånger hundra. Det visar sig ett sådant beroende: enheten för varje nästa siffra är tio gånger mer än enheten för den tidigare, för vad som är 300 är tre gånger hundra. En avvikelse från decimalsystemet behövdes för att göra binären lättare att förstå.

    4.4.3 Binära siffror och siffror och deras inspelning

    Det binära systemet har bara två siffror: 0 och 1... Därför är representationen av ett tal i binärt ofta mycket längre än i decimal. Med undantag för siffrorna 0 och 1 är noll i binär lika med noll i decimal, samma för en. Ibland, för att inte förväxla nummersystemet där numret skrivs, används underindex: 267 10, 10100 12, 4712 8. Siffran i delindex indikerar nummersystemet.

    Symbolerna 0b och & (ampersand) kan användas för att skriva binära tal: 0b10111, & 111... Om vi \u200b\u200bi decimaltalsystemet, för att uttala talet 245, använder vi den här konstruktionen: tvåhundra fyrtiofem, sedan i det binära nummersystemet, för att namnge numret, behöver vi uttala en siffra från varje siffra, till exempel bör talet 1100 i det binära nummersystemet inte uttalas som tusen hundra, men som en, en, noll, noll. Låt oss ta en titt på hur siffrorna från 0 till 10 skrivs i binär:

    Jag tror att logiken borde vara tydlig redan. Om vi \u200b\u200bi decimaltalsystemet för varje siffra hade tio alternativ (från 0 till 9 inklusive), så har vi i det binära talsystemet i var och en av siffrorna i ett binärt tal bara två alternativ: 0 eller 1.

    För att arbeta med IP-adresser och subnätmasker räcker naturliga tal i det binära systemet för oss, även om det binära systemet tillåter oss att skriva bråk- och negativtal, men vi behöver det inte.

    4.4.4 Konvertera tal från decimal till binärt

    Låt oss bättre hantera hur man konverterar ett tal från decimal till binärt... Och här är allt faktiskt väldigt, väldigt enkelt, även om det är svårt att förklara med ord, så jag kommer omedelbart att citera exempel på att konvertera tal från decimal till binärt... Låt oss ta siffran 61, för att utföra omvandlingen till det binära systemet måste vi dela detta nummer med två och se vad som är resten av divisionen. Och resultatet av delningen delas återigen med två. I det här fallet är 61 en utdelning, som en delare kommer vi alltid att ha två, och vi delar kvoten (resultatet av delningen) med två igen, fortsätt att dela tills det finns 1 i kvoten, den sista enheten kommer att vara den siffra längst till vänster ... Figuren nedan visar detta.

    Observera att siffran 61 inte är 101111, utan 111101, det vill säga vi skriver ut resultatet från slutet. Det är ingen mening att dela enheten i det sista partiet med två, eftersom i detta fall heltal används, och med detta tillvägagångssätt blir det som i figur 4.4.2.

    Detta är inte det snabbaste sättet att konvertera ett tal från binärt till decimal.... Vi har flera acceleratorer. Exempelvis skrivs siffran 7 i det binära systemet som 111, siffran 3 som 11 och siffran 255 som 11111111. Alla dessa fall är upprörande enkla. Faktum är att siffrorna 8, 4 och 256 är kraften på två, och siffrorna 7, 3 och 255 är ett mindre än dessa siffror. Så för ett tal som är ett mindre än ett tal som är lika med en effekt av två gäller en enkel regel: i det binära systemet skrivs ett sådant decimaltal i antalet som är lika med en effekt på två. Så till exempel är siffran 256 två i den åttonde kraften, därför skrivs 255 som 11111111, och siffran 8 är två i den tredje kraften, och detta säger oss att 7 i det binära systemet kommer att skrivas som 111. Tja, förstå, hur man skriver 256, 4 och 8 i det binära systemet är inte heller svårt, det räcker bara att lägga till en: 256 \u003d 11111111 + 1 \u003d 100000000; 8 \u003d 111 + 1 \u003d 1000; 4 \u003d 11 + 1 \u003d 100.
    Du kan kontrollera något av dina resultat på en miniräknare och först är det bättre att göra det.

    Som ni ser har vi ännu inte glömt hur man delar upp. Och nu kan vi gå vidare.

    4.4.5 Konvertera tal från binär till decimal

    Att konvertera nummer från det binära nummersystemet är mycket enklare än att konvertera från decimal till binärt. Som ett exempel på översättning kommer vi att använda siffran 11110. Var uppmärksam på tabellen nedan, den visar i vilken grad du behöver höja två för att få ett decimaltal senare.

    För att få ett decimal från detta binära tal måste du multiplicera varje nummer i siffran med två till en effekt och sedan lägga till resultaten av multiplikationen, det är lättare att visa:

    1*2 4 +1*2 3 +1*2 2 +1*2 1 +0*2 0 = 16+8+4+2+0=30

    Låt oss öppna miniräknaren och se till att 30 i decimalnotation är 11110 i binär.

    Vi ser att allt har gjorts korrekt. Exemplet visar det att konvertera ett tal från binärt till decimal är mycket enklare än att konvertera det tillbaka... För att arbeta med självförtroende behöver du bara komma ihåg kraften från två upp till 2 8. För tydlighetens skull ger jag ett bord.

    Vi behöver inte mer, eftersom det maximala antalet som kan skrivas i en byte (8 bitar eller åtta binära värden) är 255, det vill säga i varje oktett av IP-adressen eller nätmask i IPv4-protokollet är det maximalt möjliga värdet 255. Det finns fält , där det finns värden större än 255, men vi behöver inte beräkna dem.

    4.4.6 Addition, subtraktion, multiplicering av binära tal och andra operationer med binära tal

    Låt oss nu titta på operationer som kan utföras på binära tal... Låt oss börja med enkla aritmetiska operationer och sedan gå vidare till operationerna i boolesk algebra.

    Binärt tillägg

    Att lägga till binära tal är inte så svårt: 1 + 0 \u003d 1; 1 + 1 \u003d 0 (jag kommer att förklara mer); 0 + 0 \u003d 0. Dessa var enkla exempel där endast en siffra användes, låt oss titta på exempel där antalet siffror är större än en.
    101 + 1101 i decimal, detta skulle vara 5 + 13 \u003d 18. Låt oss räkna i en kolumn.

    Resultatet markeras i orange, räknaren säger att vi har beräknat rätt, du kan kontrollera. Låt oss nu se varför detta hände, för först skrev jag att 1 + 1 \u003d 0, men detta är fallet när vi bara har en bit, i fall där det finns mer än en bit, 1 + 1 \u003d 10 (eller två i decimal), vilket är logiskt.

    Titta sedan vad som händer, vi utför tillägg med siffror från höger till vänster:

    1. 1 + 1 \u003d 10, vi skriver noll och en går till nästa siffra.

    2. I nästa bit visar det sig 0 + 0 + 1 \u003d 1 (denna enhet kom till oss från resultatet av tillsats i steg 1).

    4. Här har vi en enhet endast för det andra numret, men här överförs den fortfarande, därför 0 + 1 + 1 \u003d 10.

    5. Vi limar ihop allt: 10 | 0 | 1 | 0.

    Om du är lat i en kolumn, låt oss räkna så här: 101011 + 11011 eller 43 + 27 \u003d 70. Hur kan du göra här, men låt oss se, eftersom ingen förbjuder oss att göra omvandlingar, och summan ändras inte från att ändra platsen för termerna, för det binära nummersystemet denna regel är också giltig.

    1. 101011 = 101000 + 11 = 101000 + 10 + 1 = 100000 + 1000 + 10 + 1.
    2. 11011 = 11000 + 10 + 1 = 10000 + 1000 + 10 + 1.
    3. 100000 + 10000 + (1000 +1000) + (10+10) + (1+1).
    4. 100000 + (10000 + 10000) + 100 + 10.
    5. 100000 + 100000 +110
    6. 1000000 + 110.
    7. 1000110.

    Du kan kontrollera med en miniräknare, 1000110 i binär är 70 i decimal.

    Subtraktion av binära tal

    Direkt ett exempel för att subtrahera ett-siffriga nummer i det binära nummersystemet, vi pratade inte om negativa tal, så vi tar inte hänsyn till 0-1: 1 - 0 \u003d 1; 0 - 0 \u003d 0; 1 - 1 \u003d 0. Om det finns fler än en siffra är allt också enkelt, till och med inga kolumner och knep behövs: 110111 - 1000, detta är detsamma som 55 - 8. Som ett resultat får vi 101111. Och hjärtat slutade slå , var kommer en ifrån den tredje siffran (numrering från vänster till höger och börjar med noll)? Det är enkelt! I den andra siffran i numret 110111 finns 0 och i den första siffran finns 1 (om vi antar att numreringen av siffrorna börjar från 0 och går från vänster till höger), men enheten av den fjärde siffran erhålls genom att lägga till två enheter av den tredje siffran (en typ av virtuell två erhålls) och från detta två subtraherar vi en, som står i nollbit av talet 1000, men 2 - 1 \u003d 1, ja, och 1 är en giltig siffra i det binära talsystemet.

    Multiplikation av binära tal

    Det återstår för oss att överväga multipliceringen av binära tal, som implementeras genom att flytta en bit åt vänster... Men först, låt oss titta på resultaten av en enbitsmultiplikation: 1 * 1 \u003d 1; 1 * 0 \u003d 0 0 * 0 \u003d 0. Egentligen är allt enkelt, låt oss nu titta på något mer komplicerat. Ta siffrorna 101001 (41) och 1100 (12). Vi kommer att multiplicera med en kolumn.

    Om det inte framgår av tabellen hur det hände ska jag försöka förklara med ord:

    1. Det är bekvämt att multiplicera binära tal i en kolumn, så vi skriver ut den andra faktorn under den första, om siffror med olika antal siffror är det bekvämare om det större numret är överst.
    2. Nästa steg är att multiplicera alla siffrorna i det första numret med den minst signifikanta siffran i det andra numret. Vi skriver ner resultatet av multiplikationen nedan, medan det är nödvändigt att skriva ner så att resultatet av multiplikationen skrivs under varje motsvarande bit.
    3. Nu måste vi multiplicera alla siffrorna i det första numret med nästa siffra i det andra numret och skriva resultatet i ytterligare en rad nedan, men detta resultat måste flyttas en siffra åt vänster, om du tittar på tabellen är detta den andra sekvensen av nollor från toppen.
    4. Samma sak måste göras för efterföljande siffror, varje gång du flyttar en bit åt vänster, och om du tittar på tabellen kan du säga att en cell till vänster.
    5. Vi har fyra binära tal som vi måste lägga till nu och få resultatet. Vi har nyligen granskat tillägget, det borde inte vara några problem.

    Generellt sett är multiplikationsoperationen inte så svår, du behöver bara öva lite.

    Booleska algebraoperationer

    Det finns två mycket viktiga begrepp i boolesk algebra: sant och falskt, vilket motsvarar noll och ett i det binära systemet. Booleska operatörer utökar antalet tillgängliga operatörer på dessa värden, låt oss ta en titt på dem.

    Logisk OCH eller OCH drift

    Den logiska AND- och AND-operationen motsvarar multiplicering av en-bitars binära tal.

    1 OCH 1 \u003d 1; 1 OCH 0 \u003d 1; 0 OCH 0 \u003d 0; 0 OCH 1 \u003d 0.

    1 OCH 1 \u003d 1;

    1 OCH 0 \u003d 1;

    0 OCH 0 \u003d 0;

    0 OCH 1 \u003d 0.

    Som ett resultat av "Logisk OCH" kommer det bara att finnas ett om båda värdena är lika med ett, i alla andra fall blir det noll.

    Funktion "Logisk ELLER" eller ELLER

    Funktionen "Logisk ELLER" eller ELLER fungerar enligt följande princip: om minst ett värde är lika med ett, blir resultatet ett.

    1 ELLER 1 \u003d 1; 1 ELLER 0 \u003d 1; 0 ELLER 1 \u003d 1; 0 ELLER 0 \u003d 0.

    1 ELLER 1 \u003d 1;

    1 ELLER 0 \u003d 1;

    0 ELLER 1 \u003d 1;

    0 ELLER 0 \u003d 0.

    Exklusiv OR- eller XOR-drift

    Operationen "Exclusive OR" eller XOR ger oss som ett resultat endast om en av operanderna är lika med en, och den andra är lika med noll. Om båda operanderna är noll blir det noll och även om båda operanderna är lika med en är resultatet noll.





    

    2020 gtavrl.ru.