Conversion mula sa binary hanggang decimal na sistema ng numero. Mabilis na i-convert ang isang numero mula sa sistema ng decimal na numero sa binary

Isulat ang numero sa binary number system, at ang kapangyarihan ng dalawa mula kanan papuntang kaliwa. Halimbawa, gusto naming i-convert ang binary number 10011011 2 sa decimal. Isulat muna natin. Pagkatapos ay isinusulat namin ang mga kapangyarihan ng dalawa mula kanan hanggang kaliwa. Magsimula tayo sa 2 0, na katumbas ng "1". Tinataasan namin ang antas ng isa para sa bawat kasunod na numero. Humihinto kami kapag ang bilang ng mga elemento sa listahan ay katumbas ng bilang ng mga digit sa binary na numero. Ang aming halimbawang numero, 10011011, ay may walong digit, kaya ang isang listahan ng walong elemento ay magiging ganito: 128, 64, 32, 16, 8, 4, 2, 1

Isulat ang mga digit ng binary number sa ilalim ng katumbas na kapangyarihan ng dalawa. Ngayon ay isulat lamang ang 10011011 sa ilalim ng mga numerong 128, 64, 32, 16, 8, 4, 2, at 1, upang ang bawat binary digit ay tumutugma sa ibang kapangyarihan ng dalawa. Ang pinakakanang "1" ng binary na numero ay dapat na tumutugma sa pinakakanang "1" ng mga kapangyarihan ng dalawa, at iba pa. Kung gusto mo, maaari mong isulat ang binary na numero sa itaas ng mga kapangyarihan ng dalawa. Ang pinakamahalaga ay magkatugma sila sa isa't isa.

Itugma ang mga digit sa isang binary na numero na may katumbas na kapangyarihan ng dalawa. Gumuhit ng mga linya (mula kanan pakaliwa) na nagkokonekta sa bawat sunud-sunod na digit ng binary number sa kapangyarihan ng dalawa sa itaas nito. Simulan ang pagguhit ng mga linya sa pamamagitan ng pagkonekta sa unang digit ng isang binary na numero sa unang kapangyarihan ng dalawa sa itaas nito. Pagkatapos ay gumuhit ng linya mula sa pangalawang digit ng binary na numero hanggang sa pangalawang kapangyarihan ng dalawa. Ipagpatuloy ang pagkonekta sa bawat numero sa katumbas na kapangyarihan ng dalawa. Makakatulong ito sa iyong biswal na makita ang kaugnayan sa pagitan ng dalawang magkaibang hanay ng mga numero.

Isulat ang huling halaga ng bawat kapangyarihan ng dalawa. Pumunta sa bawat digit ng isang binary na numero. Kung ang numero ay 1, isulat ang katumbas na kapangyarihan ng dalawa sa ilalim ng numero. Kung ang numerong ito ay 0, isulat ang 0 sa ilalim ng numero.

  • Dahil ang "1" ay tumutugma sa "1", nananatili itong "1". Dahil ang "2" ay tumutugma sa "1", nananatili itong "2". Dahil ang "4" ay tumutugma sa "0", ito ay nagiging "0". Dahil ang "8" ay tumutugma sa "1", ito ay nagiging "8", at dahil ang "16" ay tumutugma sa "1" ito ay nagiging "16". Ang "32" ay tumutugma sa "0" at nagiging "0", "64" ay tumutugma sa "0" at samakatuwid ay nagiging "0", habang ang "128" ay tumutugma sa "1" at samakatuwid ay nagiging 128.
  • Magdagdag ng mga resultang halaga. Ngayon idagdag ang mga resultang numero sa ilalim ng linya. Narito ang gagawin mo: 128 + 0 + 0 + 16 + 8 + 0 + 2 + 1 = 155. Ito ang katumbas ng decimal ng binary na numero 10011011.

    Isulat ang sagot kasama ng isang subscript na katumbas ng sistema ng numero. Ngayon ang kailangan mo lang gawin ay sumulat ng 155 10 upang ipakita na ikaw ay gumagawa ng isang decimal na sagot, na gumagana sa kapangyarihan ng sampu. Kapag mas marami kang nagko-convert ng mga binary na numero sa mga decimal, mas magiging madali para sa iyo na matandaan ang mga kapangyarihan ng dalawa, at mas mabilis mong makumpleto ang gawain.

  • Gamitin ang paraang ito upang i-convert ang isang binary na numero na may decimal point sa decimal form. Magagamit mo ang paraang ito kahit na gusto mong i-convert ang binary number gaya ng 1.1 2 sa decimal. Ang kailangan mo lang malaman ay ang numero sa kaliwang bahagi ng decimal ay isang regular na numero, at ang numero sa kanang bahagi ng decimal ay ang "kalahati" na numero, o 1 x (1/2).

    • Ang "1" sa kaliwa ng decimal na numero ay tumutugma sa 2 0, o 1. 1 sa kanan ng decimal na numero ay tumutugma sa 2 -1, o.5. Magdagdag ng 1 at .5 at makakakuha ka ng 1.5, na katumbas ng decimal ng 1.1 2.
  • Karamihan sa mga tao sa ating planeta ay gumagamit ng decimal number system kapag nagbibilang, ngunit ginagamit ng mga computer ang binary number system. Ang ilang mga tribo sa bukang-liwayway ng pag-unlad ng tao ay gumamit ng duodecimal at sexagesimal. Mula sa kanila na natitira tayong may 12 oras sa dial at 60 minuto sa isang oras.

    Minsan kinakailangan na i-convert ang isang numero mula sa isang sistema patungo sa isa pa. Sa artikulong ito, titingnan natin nang mas partikular kung paano mag-convert sa decimal system mula sa ilang iba pang sikat na system.

    Ang prinsipyo ng pagbuo ng isang numero mula sa mga digit

    Una sa lahat, kailangan mong maunawaan kung ano ang isang sistema ng numero at ang batayan nito. Ang sistema ng numero ay isang paraan ng pagre-represent ng mga numero bilang kumbinasyon ng ilang mga digit. Ang batayan ng system ay ang bilang ng mga digit na ginamit dito. Halimbawa, sa decimal system na may base 10 mayroon lamang 10 digit - mula 0 hanggang 9. Sa hexadecimal, mayroong, ayon sa pagkakabanggit, 16 digit, na itinalaga ng Arabic numerals 0 - 9 at Latin na titik A - F sa halip na mga digit 10 - 15. Halimbawa, 2F7BE 16 - hexadecimal number. Kapag nakasulat sa ganitong paraan, ang subscript ay tumutukoy sa base ng sistema ng numero. Ang pangunahing pagkakaiba sa pagitan ng mga system na may iba't ibang base ay ang "halaga" ng numerong 10. Sa hexadecimal, ang 10 16 ay magiging katumbas ng 16 10, ngunit sa binary, ang 10 2 ay magiging katumbas ng dalawa lamang. 100 16 ay kakalkulahin bilang

    100 16 = 10 16 * 10 16 = 16 10 * 16 10 = 256 10 .

    Kinakailangan din na makilala sa pagitan ng mga konsepto na "digit" at "numero". Ang isang numero ay ipinahiwatig ng isang simbolo, at ang isang numero ay maaaring kinakatawan ng ilan. Halimbawa, ang bilang na 9 10 sa binary ay magmumukhang 1001 2, at ang bilang 9 sa binary ay hindi umiiral nang ganoon.

    Algoritmo ng pagsasalin

    Upang i-convert ang isang numero sa decimal system, kailangan mong matutunan kung paano gumamit ng isang simpleng algorithm.

    1. Tukuyin ang base ng sistema ng numero. Ito ay ipinahiwatig ng isang subscript pagkatapos ng numero, halimbawa, sa numerong 2F7BE 16 ang base ay 16.
    2. I-multiply ang bawat digit ng numero sa base sa isang kapangyarihan na katumbas ng bilang ng digit mula kanan pakaliwa, simula sa zero. Sa numerong 2F7BE, ang 16 E (katumbas ng 14) ay pinarami ng 16 sa zero power, B (digit 11) ng 16 sa unang kapangyarihan, at iba pa: 2F7BE 16 = 2*16 4 +15*16 3 + 7*16 2 + 11 *16 1 + 14*16 0 .
    3. Idagdag ang mga resulta.

    2*16 4 +15*16 3 + 7*16 2 + 11*16 1 + 14*16 0 = 194494 10 .

    Tingnan natin ang mga halimbawa kung paano i-convert ang pinakasikat na hexadecimal, octal at binary system sa decimal.

    • 5736 8 = 5*8 3 + 7*8 2 + 3*8 1 + 6*8 0 = 3038 10
    • 1001011 2 = 1*2 6 + 0*2 5 + 0*2 4 + 1*2 3 + 0*2 2 + 1*2 1 + 1*2 0 = 75 10
    • 2F7BE 16 = 2*16 4 +15*16 3 + 7*16 2 + 11*16 1 + 14*16 0 = 194494 10

    Siyempre, ang pagbibilang ng mano-mano sa bawat oras ay hindi maginhawa, hindi makatwiran, at kahit na nag-aatubili. Mayroong maraming mga calculator na maaaring mag-convert ng mga numero mula sa system patungo sa system. Halimbawa, ang isang karaniwang Windows calculator sa Programmer mode (Alt+3 keys o View menu) ay maaaring gumana sa radix system 2, 8, 10 at 16.

    Pinapayagan ka ng calculator na i-convert ang buo at fractional na mga numero mula sa isang sistema ng numero patungo sa isa pa. Ang base ng sistema ng numero ay hindi maaaring mas mababa sa 2 at higit sa 36 (10 digit at 26 Latin na letra kung tutuusin). Ang haba ng mga numero ay hindi dapat lumampas sa 30 character. Upang magpasok ng mga fractional na numero, gamitin ang simbolo. o, . Upang i-convert ang isang numero mula sa isang system patungo sa isa pa, ilagay ang orihinal na numero sa unang field, ang base ng orihinal na sistema ng numero sa pangalawa, at ang base ng system ng numero kung saan mo gustong i-convert ang numero sa ikatlong field, pagkatapos ay i-click ang pindutang "Kumuha ng Record".

    Orihinal na numero nakasulat sa 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 3 -ika na sistema ng numero.

    Gusto kong makakuha ng isang numero na nakasulat sa 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 -ika na sistema ng numero.

    Kumuha ng entry

    Nakumpleto ang mga pagsasalin: 1237200

    Mga sistema ng numero

    Ang mga sistema ng numero ay nahahati sa dalawang uri: posisyonal At hindi positional. Ginagamit namin ang Arabic system, ito ay positional, ngunit mayroon ding Roman system - hindi ito positional. Sa mga positional system, ang posisyon ng isang digit sa isang numero ay natatanging tumutukoy sa halaga ng numerong iyon. Ito ay madaling maunawaan sa pamamagitan ng pagtingin sa ilang numero bilang isang halimbawa.

    Halimbawa 1. Kunin natin ang numerong 5921 sa sistema ng decimal na numero. Bilangin natin ang numero mula kanan pakaliwa simula sa zero:

    Ang numerong 5921 ay maaaring isulat sa sumusunod na anyo: 5921 = 5000+900+20+1 = 5·10 3 +9·10 2 +2·10 1 +1·10 0 . Ang numero 10 ay isang katangian na tumutukoy sa sistema ng numero. Ang mga halaga ng posisyon ng isang naibigay na numero ay kinuha bilang mga kapangyarihan.

    Halimbawa 2. Isaalang-alang ang totoong decimal na numero 1234.567. Bilangin natin ito simula sa zero na posisyon ng numero mula sa decimal point hanggang sa kaliwa at kanan:

    Ang numerong 1234.567 ay maaaring isulat sa sumusunod na anyo: 1234.567 = 1000+200+30+4+0.5+0.06+0.007 = 1·10 3 +2·10 2 +3·10 1 +4·10 0 +5·10 -1 + 6·10 -2 +7·10 -3 .

    Pag-convert ng mga numero mula sa isang sistema ng numero patungo sa isa pa

    Ang pinakasimpleng paraan upang mai-convert ang isang numero mula sa isang sistema ng numero patungo sa isa pa ay ang unang i-convert ang numero sa sistema ng decimal na numero, at pagkatapos ay ang resultang resulta sa kinakailangang sistema ng numero.

    Pag-convert ng mga numero mula sa anumang sistema ng numero patungo sa sistema ng decimal na numero

    Upang i-convert ang isang numero mula sa anumang sistema ng numero sa decimal, sapat na upang bilangin ang mga digit nito, simula sa zero (ang digit sa kaliwa ng decimal point) katulad ng mga halimbawa 1 o 2. Hanapin natin ang kabuuan ng mga produkto ng mga digit ng numero sa pamamagitan ng base ng sistema ng numero sa kapangyarihan ng posisyon ng digit na ito:

    1. I-convert ang numerong 1001101.1101 2 sa sistema ng decimal na numero.
    Solusyon: 10011.1101 2 = 1·2 4 +0·2 3 +0·2 2 +1·2 1 +1·2 0 +1·2 -1 +1·2 -2 +0·2 -3 +1·2 - 4 = 16+2+1+0.5+0.25+0.0625 = 19.8125 10
    Sagot: 10011.1101 2 = 19.8125 10

    2. I-convert ang numerong E8F.2D 16 sa sistema ng decimal na numero.
    Solusyon: E8F.2D 16 = 14·16 2 +8·16 1 +15·16 0 +2·16 -1 +13·16 -2 = 3584+128+15+0.125+0.05078125 = 3727.17578125 10
    Sagot: E8F.2D 16 = 3727.17578125 10

    Pag-convert ng mga numero mula sa sistema ng decimal na numero patungo sa isa pang sistema ng numero

    Upang i-convert ang mga numero mula sa sistema ng decimal na numero patungo sa isa pang sistema ng numero, ang integer at fractional na bahagi ng numero ay dapat na i-convert nang hiwalay.

    Pag-convert ng integer na bahagi ng isang numero mula sa isang decimal number system patungo sa isa pang number system

    Ang isang bahagi ng integer ay kino-convert mula sa isang sistema ng decimal na numero patungo sa isa pang sistema ng numero sa pamamagitan ng sunud-sunod na paghahati sa bahagi ng integer ng isang numero sa base ng sistema ng numero hanggang sa makuha ang isang buong natitira na mas mababa kaysa sa base ng sistema ng numero. Ang resulta ng pagsasalin ay isang talaan ng natitira, simula sa huli.

    3. I-convert ang numerong 273 10 sa octal number system.
    Solusyon: 273 / 8 = 34 at natitirang 1. 34 / 8 = 4 at natitirang 2. Ang 4 ay mas mababa sa 8, kaya kumpleto ang pagkalkula. Ang talaan mula sa mga balanse ay magiging ganito: 421
    Pagsusulit: 4·8 2 +2·8 1 +1·8 0 = 256+16+1 = 273 = 273, pareho ang resulta. Nangangahulugan ito na ang pagsasalin ay ginawa nang tama.
    Sagot: 273 10 = 421 8

    Isaalang-alang natin ang pagsasalin ng mga regular na decimal fraction sa iba't ibang sistema ng numero.

    Pag-convert ng fractional na bahagi ng isang numero mula sa sistema ng decimal na numero patungo sa isa pang sistema ng numero

    Alalahanin na ang isang wastong decimal fraction ay tinatawag tunay na numero na may zero integer na bahagi. Upang i-convert ang naturang numero sa isang sistema ng numero na may base N, kailangan mong sunud-sunod na i-multiply ang numero sa N hanggang sa ma-zero ang fractional na bahagi o makuha ang kinakailangang bilang ng mga digit. Kung, sa panahon ng pagpaparami, ang isang numero na may bahaging integer maliban sa zero ay nakuha, kung gayon ang bahagi ng integer ay hindi na isasaalang-alang pa, dahil ito ay sunud-sunod na ipinasok sa resulta.

    4. I-convert ang numerong 0.125 10 sa binary number system.
    Solusyon: 0.125·2 = 0.25 (0 ang integer na bahagi, na magiging unang digit ng resulta), 0.25·2 = 0.5 (0 ang pangalawang digit ng resulta), 0.5·2 = 1.0 (1 ang ikatlong digit ng resulta, at dahil ang fractional na bahagi ay zero , pagkatapos ay natapos ang pagsasalin).
    Sagot: 0.125 10 = 0.001 2

    Sa isa sa aming mga materyales ay tiningnan namin ang kahulugan. Ito ang may pinakamaikling alpabeto. Dalawang digit lamang: 0 at 1. Ang mga halimbawa ng mga alpabeto ng mga positional number system ay ibinigay sa talahanayan.

    Mga sistema ng numero ng posisyon

    Pangalan ng system

    Base

    Alpabeto

    Binary

    Trinidad

    Quaternary

    Limang beses

    Octal

    Decimal

    0,1,2,3,4,5,6,7,8,9

    duodecimal

    0,1,2,3,4,5,6,7,8,9,A,B

    Hexadecimal

    0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

    Tatlumpu't anim

    0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G, H,I,J,K,L,M,N,O, P,R,S,T,U,V,X,Y,Z


    Upang i-convert ang isang maliit na numero mula sa decimal sa binary at vice versa, ito ay mas mahusay na gamitin ang sumusunod na talahanayan.

    Talahanayan para sa pag-convert ng mga decimal na numero mula 0 hanggang 20 sa binary number system.

    decimal

    numero

    binary na numero

    decimal

    numero

    binary na numero


    Gayunpaman, ang talahanayan ay magiging napakalaki kung isusulat mo ang lahat ng mga numero doon. Ang paghahanap ng tamang numero sa kanila ay magiging mas mahirap. Mas madaling matandaan ang ilang mga algorithm para sa pag-convert ng mga numero mula sa isang positional number system patungo sa isa pa.


    Paano mag-convert mula sa isang sistema ng numero patungo sa isa pa? Sa computer science, may ilang simpleng paraan para i-convert ang mga decimal na numero sa binary na numero. Tingnan natin ang dalawa sa kanila.

    Paraan numero 1.

    Sabihin nating kailangan mong mag-convert ng numero 637 decimal system hanggang binary system.


    Ginagawa ito bilang mga sumusunod: ang pinakamataas na kapangyarihan ng dalawa ay matatagpuan upang ang dalawa sa kapangyarihang ito ay mas mababa sa o katumbas ng orihinal na numero.


    Sa aming kaso ito ay 9, dahil 2 9 =512 , A 2 10 =1024 , na mas malaki kaysa sa aming panimulang numero. Kaya, natanggap namin ang bilang ng mga digit ng resulta. Ito ay katumbas ng 9+1=10. Nangangahulugan ito na ang resulta ay magmumukhang 1хххххххххх, kung saan ang x ay maaaring palitan ng 1 o 0.


    Hanapin natin ang pangalawang digit ng resulta. Itaas natin ang dalawa sa kapangyarihan ng 9 at ibawas sa orihinal na numero: 637-2 9 =125. Pagkatapos ay ihambing sa numero 2 8 =256 . Dahil ang 125 ay mas mababa sa 256, ang ikasiyam na digit ay magiging 0, i.e. ang resulta ay magkakaroon na ng form na 10ххххххххх.


    2 7 =128 > 125 , na nangangahulugan na ang ikawalong digit ay magiging zero din.


    2 6 =64 , pagkatapos ay ang ikapitong digit ay katumbas ng 1. 125-64=61 Kaya, nakatanggap kami ng apat na senior digit at ang numero ay kukuha ng form na 10011ххххх.


    2 5 =32 at nakikita natin na 32< 61, значит шестой разряд равен 1 (результат 100111хххх), остаток 61-32=29.


    2 4 =16 < 29 - ikalimang digit 1 => 1001111xxx. Natitira 29-16=13.


    2 3 =8 < 13 => 10011111хх. 13-8=5


    2 2 =4 < 5 => 10011111хх, natitira 5-4=1.


    2 1 =2 > 1 => 100111110x, natitira 2-1=1.


    2 0 =1 => 1001111101.


    Ito ang magiging huling resulta.

    Paraan numero 2.

    Ang panuntunan para sa pag-convert ng mga integer decimal na numero sa binary number system ay nagsasaad:

    1. Hatiin natin a n−1 a n−2 ...a 1 a 0 =a n−1⋅2 n−1 +a n−2⋅2 n−2 +...+a 0⋅2 0 by 2.
    2. Ang quotient ay magiging katumbas ng an−1⋅2n−2+...+a1, at ang natitira ay magiging pantay
    3. Muli nating hatiin ang resultang quotient sa 2, ang natitira sa dibisyon ay magiging katumbas ng a1.
    4. Kung ipagpapatuloy namin ang proseso ng paghahati na ito, pagkatapos ay sa ika-na hakbang makakakuha kami ng isang hanay ng mga numero: a 0 ,a 1 ,a 2 ,...,a n−1, na kasama sa binary na representasyon ng orihinal na numero at tumutugma sa mga natitira kapag ito ay sunud-sunod na hinati ng 2.
    5. Kaya, upang i-convert ang isang integer decimal na numero sa binary number system, kailangan mong sunud-sunod na hatiin ang ibinigay na numero at ang mga resultang integer quotient sa pamamagitan ng 2 hanggang sa makakuha tayo ng quotient na katumbas ng zero.

    Ang orihinal na numero sa binary number system ay pinagsama-sama sa pamamagitan ng sunud-sunod na pagtatala ng mga natitira sa resulta. Nagsisimula kaming i-record ito sa huling nahanap.


    I-convert natin ang decimal na numero 11 sa binary number system. Ang pagkakasunud-sunod ng mga aksyon na tinalakay sa itaas (translation algorithm) ay maaaring ilarawan bilang mga sumusunod:


    Natanggap 11 10 =1011 2 .

    Halimbawa:

    Kung ang decimal na numero ay sapat na malaki, kung gayon ang sumusunod na paraan ng pagsulat ng algorithm na tinalakay sa itaas ay mas maginhawa:



    363 10 =101101011 2



    Kumusta, bisita sa site! Patuloy naming pinag-aaralan ang IP network layer protocol, at upang maging mas tumpak, ang bersyon nito na IPv4. Sa unang tingin sa paksa binary number at binary number system ay walang kinalaman sa IP protocol, ngunit kung naaalala natin na ang mga computer ay gumagana sa mga zero at isa, kung gayon ito ay lumalabas na ang binary system at ang pag-unawa nito ay ang batayan ng mga pangunahing kaalaman, kailangan natin matutong mag-convert ng mga numero mula sa binary patungo sa decimal at kabaliktaran: decimal hanggang binary. Makakatulong ito sa amin na mas maunawaan ang IP protocol, pati na rin ang prinsipyo ng pagpapatakbo ng mga variable-length na network mask. Magsimula na tayo!

    Kung ang paksa ng mga network ng computer ay kawili-wili sa iyo, maaari mong basahin ang iba pang mga pag-record ng kurso.

    4.4.1 Panimula

    Bago tayo magsimula, sulit na ipaliwanag kung bakit kailangan ng isang network engineer ang paksang ito. Bagama't maaari kang kumbinsido sa pangangailangan nito kapag nagsalita kami, maaari mong sabihin na may mga IP calculator na lubos na nagpapadali sa gawain ng paglalaan ng mga IP address, pagkalkula ng mga kinakailangang subnet/network mask at pagtukoy ng network number at host number sa IP address. Iyan ay tama, ngunit ang IP calculator ay hindi palaging nasa kamay, ito ang dahilan bilang isa. Dahilan number two ay sa mga pagsusulit sa Cisco hindi ka nila bibigyan ng IP calculator at iyon lang. kailangan mong gawin ang conversion ng mga IP address mula decimal patungo sa binary sa isang piraso ng papel, at hindi gaanong kaunti ang mga tanong kung saan ito ay kinakailangan sa pagsusulit/pagsusulit para sa pagkuha ng CCNA certificate, ito ay isang kahihiyan kung ang pagsusulit ay nabigo dahil sa gayong kawalang-galang. At sa wakas, ang pag-unawa sa binary number system ay humahantong sa isang mas mahusay na pag-unawa sa prinsipyo ng operasyon.

    Sa pangkalahatan, hindi kinakailangan ng isang network engineer na makapag-convert ng mga numero mula sa binary patungo sa decimal at vice versa sa kanyang ulo. Bukod dito, bihirang may nakakaalam kung paano gawin ito sa pag-iisip ang mga guro ng iba't ibang mga kurso sa mga network ng computer ay higit sa lahat ay nabibilang sa kategoryang ito, dahil palagi silang nakatagpo nito araw-araw. Ngunit sa isang piraso ng papel at panulat, dapat mong matutunan kung paano magsalin.

    4.4.2 Decimal digit at numero, digit sa mga numero

    Magsimula tayo sa simple at pag-usapan ang tungkol sa mga binary digit at numero, alam mo na ang mga numero at numero ay dalawang magkaibang bagay. Ang isang numero ay isang espesyal na simbolo para sa pagtatalaga, at ang isang numero ay isang abstract na notasyon para sa dami. Halimbawa, upang isulat na mayroon tayong limang daliri sa ating kamay, maaari tayong gumamit ng Roman at Arabic na mga numero: V at 5. Sa sa kasong ito ang lima ay parehong numero at isang digit. At, halimbawa, upang isulat ang numero 20 ginagamit namin ang dalawang numero: 2 at 0.

    Sa kabuuan, sa sistema ng decimal na numero mayroon tayong sampung digit o sampung simbolo (0,1,2,3,4,5,6,7,8,9), sa pamamagitan ng pagsasama-sama kung saan maaari tayong sumulat ng iba't ibang mga numero. Anong prinsipyo ang ginagabayan natin kapag gumagamit ng decimal number system? Oo, ang lahat ay napaka-simple, itinataas natin ang sampu sa isang degree o iba pa, halimbawa, kunin natin ang numerong 321. Paano ito maisusulat nang naiiba, tulad nito: 3*10 2 +2*10 1 +1*10 0 . Kaya, lumalabas na ang numero 321 ay kumakatawan sa tatlong numero:

    1. Ang numero 3 ay nangangahulugang ang pinakamahalagang lugar o sa kasong ito ito ay ang daan-daang lugar, kung hindi man ang kanilang numero.
    2. Ang numero 2 ay nasa sampu, mayroon kaming dalawang sampu.
    3. Ang numero uno ay tumutukoy sa hindi bababa sa makabuluhang digit.

    Ibig sabihin, sa entry na ito ang isang dalawa ay hindi lamang isang dalawa, ngunit dalawang sampu o dalawang beses sampu. At ang tatlo ay hindi lamang tatlo, kundi tatlong beses ng isang daan. Ang sumusunod na pag-asa ay nakuha: ang yunit ng bawat susunod na digit ay sampung beses na mas malaki kaysa sa yunit ng nauna, dahil ang 300 ay tatlong beses ng isang daan. Ang isang digression tungkol sa sistema ng decimal na numero ay kinakailangan upang gawing mas madaling maunawaan ang binary system.

    4.4.3 Binary na mga digit at numero, pati na rin ang kanilang pag-record

    Mayroon lamang dalawang digit sa binary number system: 0 at 1. Samakatuwid, ang pagsulat ng isang numero sa binary system ay kadalasang mas malaki kaysa sa decimal system. Maliban sa mga numerong 0 at 1, ang zero sa binary number system ay katumbas ng zero sa decimal na sistema ng numero, at ganoon din ang para sa isa. Minsan, upang hindi malito kung saang sistema ng numero nakasulat ang numero, ginagamit ang mga sub-indeks: 267 10, 10100 12, 4712 8. Ang numero sa sub-index ay nagpapahiwatig ng sistema ng numero.

    Ang mga simbolo na 0b at &(ampersand) ay maaaring gamitin sa pagsulat ng mga binary na numero: 0b10111, &111. Kung sa sistema ng decimal na numero, upang bigkasin ang numero 245 ginagamit namin ang konstruksiyon na ito: dalawang daan at apatnapu't lima, pagkatapos ay sa binary number system, upang pangalanan ang numero, kailangan naming bigkasin ang isang digit mula sa bawat digit, halimbawa, ang bilang 1100 sa binary number system ay hindi dapat bigkasin bilang isang libo isang daan, ngunit tulad ng isa, isa, zero, zero. Tingnan natin ang pagsulat ng mga numero mula 0 hanggang 10 sa binary number system:

    Sa tingin ko ang lohika ay dapat na malinaw sa ngayon. Kung sa sistema ng decimal na numero para sa bawat digit mayroon kaming sampung opsyon na magagamit (mula 0 hanggang 9 kasama), kung gayon sa sistema ng binary na numero sa bawat isa sa mga digit ng isang binary na numero mayroon lamang kaming dalawang pagpipilian: 0 o 1.

    Upang gumana sa mga IP address at subnet mask, kailangan lang namin ng mga natural na numero sa binary number system, bagama't pinapayagan kami ng binary system na magsulat ng mga fractional at negatibong numero, ngunit hindi namin ito kailangan.

    4.4.4 Pag-convert ng mga numero mula sa decimal patungo sa binary

    Tingnan natin ito nang mas mabuti kung paano i-convert ang isang numero mula sa decimal sa binary. At narito ang lahat ay talagang napaka-simple, kahit na mahirap ipaliwanag sa mga salita, kaya ibibigay ko ito kaagad halimbawa ng pag-convert ng mga numero mula sa decimal patungo sa binary. Kunin natin ang numerong 61, upang ma-convert sa binary system, kailangan nating hatiin ang numerong ito sa dalawa at tingnan kung ano ang natitira sa dibisyon. At ang resulta ng paghahati ay muling nahahati sa dalawa. Sa kasong ito, 61 ang dibidendo, palagi tayong magkakaroon ng dalawa bilang divisor, at hinahati natin ang quotient (ang resulta ng paghahati) sa dalawa, ipagpatuloy ang paghahati hanggang sa ang quotient ay naglalaman ng 1, ang huling yunit na ito ay ang pinakakaliwang digit . Ang larawan sa ibaba ay nagpapakita nito.

    Mangyaring tandaan na ang numero 61 ay hindi 101111, ngunit 111101, iyon ay, isinusulat namin ang resulta mula sa dulo. Sa partikular na huli, walang saysay ang paghahati ng isa-isa, dahil sa kasong ito, ginagamit ang integer division, at sa ganitong paraan ito ay lumalabas tulad ng sa Figure 4.4.2.

    Hindi ito ang pinakamabilis na paraan upang i-convert ang isang numero mula sa binary patungo sa decimal.. Mayroon kaming ilang mga accelerators. Halimbawa, ang numero 7 sa binary ay isinulat bilang 111, ang numero 3 bilang 11, at ang numerong 255 bilang 11111111. Ang lahat ng mga kasong ito ay hindi kapani-paniwalang simple. Ang katotohanan ay ang mga numerong 8, 4, at 256 ay mga kapangyarihan ng dalawa, at ang mga numerong 7, 3, at 255 ay mas mababa ng isa kaysa sa mga numerong ito. Kaya, para sa mga numero na mas mababa ng isa kaysa sa isang numero na katumbas ng isang kapangyarihan ng dalawa, isang simpleng panuntunan ang nalalapat: sa binary system, ang naturang decimal na numero ay nakasulat bilang isang bilang ng mga yunit na katumbas ng isang kapangyarihan ng dalawa. Kaya, halimbawa, ang bilang na 256 ay dalawa hanggang sa ikawalong kapangyarihan, samakatuwid, ang 255 ay isinulat bilang 11111111, at ang numero 8 ay dalawa sa ikatlong kapangyarihan, at ito ay nagsasabi sa atin na ang 7 sa binary number system ay isusulat bilang 111 . Well, unawain, kung paano isulat ang 256, 4 at 8 sa binary number system ay hindi rin mahirap, magdagdag lamang ng isa: 256 = 11111111 + 1 = 100000000; 8 = 111 + 1 = 1000; 4 = 11 + 1 = 100.
    Maaari mong suriin ang alinman sa iyong mga resulta sa isang calculator at mas mahusay na gawin ito sa una.

    Tulad ng nakikita mo, hindi pa natin nakalimutan kung paano hatiin. At ngayon ay maaari na tayong magpatuloy.

    4.4.5 Pag-convert ng mga numero mula sa binary patungo sa decimal

    Ang pag-convert ng mga numero mula sa binary ay mas madali kaysa sa pag-convert mula sa decimal patungo sa binary. Bilang halimbawa ng pagsasalin, gagamitin namin ang numerong 11110. Bigyang-pansin ang talahanayan sa ibaba, ipinapakita nito ang kapangyarihan kung saan kailangan mong itaas ang dalawa upang tuluyang makakuha ng decimal na numero.

    Upang makakuha ng decimal na numero mula sa binary number na ito, kailangan mong i-multiply ang bawat numero sa digit ng dalawa sa power, at pagkatapos ay idagdag ang mga resulta ng multiplikasyon, mas madaling ipakita:

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

    Buksan natin ang calculator at siguraduhin na ang 30 sa sistema ng decimal na numero ay 11110 sa binary.

    Nakikita namin na ang lahat ay ginawa nang tama. Mula sa halimbawa ay malinaw na Ang pag-convert ng isang numero mula sa binary patungo sa decimal ay mas madali kaysa sa pag-convert nito pabalik. Para magtrabaho nang may kumpiyansa kailangan mo lang tandaan ang mga kapangyarihan ng dalawa hanggang 2 8. Para sa kalinawan, magbibigay ako ng isang talahanayan.

    Hindi na namin kailangan, dahil ang maximum na posibleng numero na maaaring maisulat sa isang byte (8 bits o walong binary value) ay 255, ibig sabihin, sa bawat octet ng IP address o IPv4 subnet mask, ang maximum na posibleng halaga ay 255. Mayroong mga patlang, kung saan mayroong mga halaga na higit sa 255, ngunit hindi natin kailangang kalkulahin ang mga ito.

    4.4.6 Pagdaragdag, pagbabawas, pagpaparami ng mga binary na numero at iba pang mga operasyon na may mga binary na numero

    Tingnan natin ngayon mga operasyon na maaaring isagawa sa mga binary na numero. Magsimula tayo sa mga simpleng aritmetika na operasyon at pagkatapos ay lumipat sa Boolean algebra operations.

    Pagdaragdag ng mga binary na numero

    Ang pagdaragdag ng mga binary na numero ay hindi ganoon kahirap: 1+0 =1; 1+1=0 (Magbibigay ako ng paliwanag mamaya); 0+0=0. Ito ay mga simpleng halimbawa kung saan isang digit lang ang ginamit, tingnan natin ang mga halimbawa kung saan ang bilang ng mga digit ay higit sa isa.
    Ang 101+1101 sa decimal system ay 5 + 13 = 18. Magbilang tayo sa isang column.

    Ang resulta ay naka-highlight sa orange, sinabi ng calculator na kinakalkula namin nang tama, maaari mong suriin ito. Ngayon tingnan natin kung bakit nangyari ito, dahil noong una ay isinulat ko na 1+1=0, ngunit ito ay para sa kaso kapag mayroon lamang tayong isang digit, para sa mga kaso kapag mayroong higit sa isang digit, 1+1=10 (o dalawa sa decimal), na lohikal.

    Pagkatapos tingnan kung ano ang mangyayari, nagsasagawa kami ng mga pagdaragdag sa pamamagitan ng mga digit mula kanan pakaliwa:

    1. 1+1=10, isulat ang zero, at ang isa ay mapupunta sa susunod na digit.

    2. Sa susunod na digit ay makakakuha tayo ng 0+0+1=1 (ang yunit na ito ay dumating sa amin mula sa resulta ng karagdagan sa hakbang 1).

    4. Dito meron tayong unit sa second number lang, pero nalipat din dito kaya 0+1+1 = 10.

    5. Idikit ang lahat: 10|0|1|0.

    Kung tamad ka sa isang column, magbilang tayo ng ganito: 101011+11011 o 43 + 27 = 70. Ano ang magagawa natin dito, ngunit tingnan natin, dahil walang nagbabawal sa atin na gumawa ng mga pagbabago, at baguhin ang mga lugar ng hindi binabago ng mga termino ang kabuuan, para sa binary number system ay may kaugnayan din ang panuntunang ito.

    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.

    Maaari mong suriin sa isang calculator, 1000110 sa binary ay 70 sa decimal.

    Pagbabawas ng Binary Numbers

    Kaagad isang halimbawa para sa pagbabawas ng mga single-digit na numero sa binary number system, hindi namin pinag-usapan ang mga negatibong numero, kaya hindi namin isinasaalang-alang ang 0-1: 1 – 0 = 1; 0 – 0 = 0; 1 – 1 = 0. Kung mayroong higit sa isang digit, kung gayon ang lahat ay simple din, hindi mo na kailangan ng anumang mga haligi o trick: 110111 – 1000, ito ay kapareho ng 55 – 8. Bilang resulta, nakukuha natin 101111. At huminto ang pagtibok ng puso , saan nanggagaling ang unit sa ikatlong digit (pagnunumero mula kaliwa hanggang kanan at nagsisimula sa zero)? Ito ay simple! Sa pangalawang digit ng numero 110111 mayroong 0, at sa unang digit mayroong 1 (kung ipinapalagay natin na ang pagnunumero ng mga numero ay nagsisimula sa 0 at mula kaliwa hanggang kanan), ngunit ang yunit ng ikaapat na digit ay nakuha ng pagdaragdag ng dalawang yunit ng ikatlong digit (isang uri ng virtual na dalawa ang nakuha) at mula dito Para sa dalawa, ibawas natin ang isa, na nasa zero digit ng numero 1000, at 2 - 1 = 1, at 1 ay isang wastong digit sa binary number system.

    Pagpaparami ng mga binary na numero

    Ito ay nananatiling para sa amin upang isaalang-alang ang pagpaparami ng mga binary na numero, na ipinatupad sa pamamagitan ng paglilipat ng isang bit sa kaliwa. Ngunit una, tingnan natin ang mga resulta ng single-digit multiplication: 1*1 = 1; 1*0=0 0*0=0. Sa totoo lang, ang lahat ay simple, ngayon tingnan natin ang isang bagay na mas kumplikado. Kunin natin ang mga numerong 101001 (41) at 1100 (12). Magpaparami tayo sa column.

    Kung hindi malinaw sa talahanayan kung paano ito nangyari, susubukan kong ipaliwanag sa mga salita:

    1. Ito ay maginhawa upang i-multiply ang mga binary na numero sa isang hanay, kaya isulat namin ang pangalawang kadahilanan sa ilalim ng una kung ang mga numero ay may iba't ibang mga numero ng mga digit, ito ay magiging mas maginhawa kung ang mas malaking numero ay nasa itaas.
    2. Ang susunod na hakbang ay paramihin ang lahat ng mga digit ng unang numero sa pinakamababang digit ng pangalawang numero. Isusulat namin ang resulta ng multiplikasyon sa ibaba;
    3. Ngayon kailangan nating i-multiply ang lahat ng mga digit ng unang numero sa susunod na digit ng pangalawang numero at isulat ang resulta ng isa pang linya sa ibaba, ngunit ang resulta na ito ay kailangang ilipat ang isang digit sa kaliwa kung titingnan mo ang talahanayan, ito ay ang pangalawang sequence ng mga zero mula sa itaas.
    4. Ang parehong ay dapat gawin para sa kasunod na mga digit, sa bawat oras na paglipat ng isang digit sa kaliwa, at kung titingnan mo ang talahanayan, maaari mong sabihin na ang isang cell sa kaliwa.
    5. Mayroon kaming apat na binary na numero na kailangan na naming idagdag at makuha ang resulta. Tiningnan namin kamakailan ang karagdagan, hindi dapat magkaroon ng anumang mga problema.

    Sa pangkalahatan, hindi ganoon kahirap ang multiplication operation, kailangan mo lang ng kaunting pagsasanay.

    Mga pagpapatakbo ng Boolean algebra

    Mayroong dalawang napakahalagang konsepto sa Boolean algebra: true at false, ang katumbas nito ay zero at isa sa binary number system. Pinapalawak ng mga operator ng Boolean algebra ang bilang ng mga available na operator sa mga halagang ito, tingnan natin ang mga ito.

    Lohikal na AT o AT operasyon

    Ang Logical AND o AND operation ay katumbas ng pagpaparami ng single-digit na binary na numero.

    1 AT 1 = 1; 1 AT 0 = 1; 0 AT 0 = 0; 0 AT 1 = 0.

    1 AT 1 = 1 ;

    1 AT 0 = 1 ;

    0 AT 0 = 0 ;

    0 AT 1 = 0.

    Ang resulta ng "Logical AND" ay magiging isa lamang kung ang parehong mga halaga ay katumbas ng isa;

    Operation "Logical OR" o OR

    Gumagana ang operasyong “Logical OR” o OR sa sumusunod na prinsipyo: kung ang kahit isang value ay katumbas ng isa, ang resulta ay magiging isa.

    1 O 1 = 1; 1 O 0 = 1; 0 O 1 = 1; 0 O 0 = 0.

    1 O 1 = 1 ;

    1 O 0 = 1 ;

    0 O 1 = 1 ;

    0 O 0 = 0.

    Eksklusibong OR o XOR na operasyon

    Ang operasyong "Exclusive OR" o XOR ay magbibigay sa amin ng resulta ng isa lamang kung ang isa sa mga operand ay katumbas ng isa at ang pangalawa ay katumbas ng zero. Kung ang parehong mga operand ay katumbas ng zero, ang resulta ay magiging zero at kahit na ang parehong mga operand ay katumbas ng isa, ang resulta ay magiging zero.