Paghahati sa mga binary number

May -Akda: Roger Morrison
Petsa Ng Paglikha: 6 Setyembre 2021
I -Update Ang Petsa: 1 Hulyo 2024
Anonim
Binary Division
Video.: Binary Division

Nilalaman

Ang paghati sa mga binary na numero ay maaaring malutas sa pamamagitan ng paggamit ng mahabang paghati, isang madaling gamiting pamamaraan para sa pagtuturo sa iyong sarili ng pamamaraan o pagsulat ng isang simpleng programa sa computer. Bilang kahalili, ang pampuno na pamamaraan ng paulit-ulit na pagbabawas ay nag-aalok ng isang diskarte na maaaring hindi ka pamilyar, kahit na hindi talaga karaniwang ginagamit sa pag-program. Ang mga wika ng makina ay karaniwang gumagamit ng isang algorithm ng pagtatantiya para sa higit na kahusayan, ngunit hindi ito inilarawan dito.

Upang humakbang

Paraan 1 ng 2: Paggamit ng mahabang paghahati

  1. Dumaan muli sa decimal long division. Kung naging matagal habang nagawa mo ang mahabang paghati na may regular na decimal (base 10) na mga numero, suriin muli ang base nito para sa problemang 172 ÷ 4. Kung hindi man, laktawan ito at pumunta sa susunod na hakbang upang malaman ang pamamaraang ito para sa binary numero.
    • Ito dibidendo ay hinati ng tagapamahagi, at ang sagot ay ito sumasalamin.
    • Ihambing ang tagahati sa unang digit sa dividend. Kung ang tagahati ay ang pinakamalaking bilang, patuloy na magdagdag ng mga digit sa dividend hanggang sa ang tagahati ay ang pinakamaliit na numero. (Halimbawa, kapag kinakalkula ang 172 ÷ 4, ihinahambing namin ang 4 at 1, hanapin ang 4> 1, at pagkatapos ihambing ang 4 sa 17.)
    • Isulat ang unang digit ng quient sa itaas ng huling digit ng dividend na ginamit para sa paghahambing. Matapos ihambing ang 4 at 17, napansin namin na ang 4 ay napupunta sa 17 apat na beses, kaya nagsusulat kami ng 4 bilang ang unang digit ng aming sumukat, sa itaas ng 7.
    • I-multiply at ibawas upang hanapin ang natitira. I-multiply ang quient sa pamamagitan ng divisor, sa kasong ito 4 x 4 = 16. Isulat ang 16 sa ibaba 17, pagkatapos ay gawin ang 17 - 16 para sa natitirang, 1.
    • Ulitin Muli naming ihinahambing ang tagahati 4 sa susunod na digit, 1, pansinin na 4> 1, at "ibagsak" ang susunod na digit ng dividend, upang ihambing ang 4 sa 12 sa halip. Ang 4 ay pumupunta sa 12 tatlong beses nang walang natitira, kaya maaari naming isulat ang 3 bilang susunod na digit ng quient. Ang sagot ay 43.
  2. Lumikha ng isang pag-setup ng haba ng binary. Ipagpalagay na ginagamit namin ang 10101 ÷ 11 bilang isang halimbawa. Isulat ito bilang isang mahabang dibisyon, na may 10101 bilang dividend at 11 bilang tagapamahagi. Mag-iwan ng puwang sa itaas upang isulat ang kabuuan, at isulat ang iyong mga kalkulasyon sa ibaba.
  3. Ihambing ang tagahati sa unang digit ng dividend. Gumagana ito sa parehong paraan tulad ng decimal long division, ngunit talagang mas madali sa binary form. O hindi mo maaaring hatiin ang numero sa tagahati (0), o ang tagahati ay magkakasya sa isang beses (1):
    • 11> 1, kaya 11 "ay hindi umaangkop" 1. Sumulat ng isang 0 bilang unang digit ng quient (sa itaas ng unang digit ng dividend).
  4. Ngayon kunin ang susunod na digit at ulitin hanggang sa makakuha ka ng 1. Narito ang mga susunod na ilang hakbang mula sa aming halimbawa:
    • Ibaba ang susunod na digit ng dividend. 11> 10. Sumulat ng isang 0 sa quient.
    • Ibaba ang susunod na digit. 11 101. Sumulat ng isang 1 sa kabuuan.
  5. Tukuyin ang natitira. tulad ng sa isang mahabang haba ng dibisyon, pinarami namin ang digit na ngayon lamang namin natagpuan (1) ng tagahati (11), at isulat ang resulta sa ibaba ng aming dividend sa isang linya kasama ang digit na aming kinakalkula. Sa binary form maaari nating gawin ito nang mas mabilis, dahil 1 x ang tagahati ay palaging katumbas ng divisor:
    • Isulat ang tagahati sa ibaba ng dividend. Isusulat namin ito bilang 11 sa ilalim ng unang tatlong digit (101) ng dividend.
    • Kalkulahin ang 101 - 11 para sa natitira, 10. Suriin kung paano ibawas ang mga binary number kung hindi mo natatandaan.
  6. Magpatuloy hanggang sa malutas ang problema. Dalhin ang susunod na digit mula sa tagahati sa natitirang nasa ibaba upang makakuha ng 100. Dahil sa 11 100, sumulat ka ng isang 1 bilang susunod na digit ng quient. Patuloy na ayusin ang problema tulad ng dati:
    • Sumulat ng 11 sa ibaba 100 at ibawas ang mga numerong ito upang makakuha ng 1.
    • Ibaba ang huling digit ng dividend at makakakuha ka ng 11 para sa sagot.
    • 11 = 11, kaya isulat ang 1 bilang huling digit ng quient (ang sagot).
    • Walang natitira, kaya nakumpleto ang problema. Ang sagot ay 00111, o higit pa nang simple, 111.
  7. Magdagdag ng isang radix point kung kinakailangan. Minsan ang resulta ay hindi isang integer. Kung mayroon ka pa ring natitirang pagkatapos magamit ang huling digit, magdagdag ng isang ".0" sa dividend at isang "." sa iyong quient upang maaari mong dalhin ang isa pang numero pababa at magpatuloy. Patuloy na gawin ito hanggang maabot mo ang iyong ninanais na kawastuhan, pagkatapos ay tapusin ang iyong sagot. Sa papel maaari kang mag-ikot sa pamamagitan ng pagtanggal sa 0 o, kung ang huling digit ay isang 1, aalisin ito at idagdag ang 1 sa huling digit. Kapag nag-program, gumamit ng isa sa mga karaniwang pag-ikot na algorithm upang maiwasan ang mga pagkakamali kapag nagko-convert sa pagitan ng mga binary at decimal na numero.
    • Ang paghati sa mga binary number ay madalas na nagreresulta sa paulit-ulit na mga decimal place, mas madalas kaysa sa mga nagaganap sa decimal format.
    • Ito ay tinukoy ng mas pangkalahatang term na "radix point" na nakasalamuha mo sa anumang sistema ng numero, dahil nakatagpo ka lamang ng "decimal point" sa loob ng decimal system.

Paraan 2 ng 2: Gamit ang pamamaraang pampuno

  1. Maunawaan ang pangunahing ideya. Ang isang paraan upang malutas ang mga paghahati - para sa anumang base - ay upang panatilihing ibawas ang tagahati mula sa dividend, pagkatapos ay ang natitira, na binibilang kung gaano karaming beses na maaari mong panatilihin ang paggawa nito bago ka makarating sa isang negatibong numero. Narito ang isang halimbawa para sa base 10, ang problema 26 ÷ 7:
    • 26 - 7 = 19 (binawas 1 beses)
    • 19 - 7 = 12 (binawas nang 2 beses)
    • 12 - 7 = 5 (binawas nang 3 beses)
    • 5 - 7 = -2. Negatibong numero, kaya't muli. Ang sagot ay 3 na may natitirang 5. Tandaan na ang pamamaraang ito ay hindi isinasaalang-alang ang mga desimal na lugar.
  2. Alamin na ibawas gamit ang mga pandagdag. Habang madali mong mailalapat ang pamamaraan sa itaas sa mga numero ng binary, maaari din kaming gumamit ng isang mas mahusay na pamamaraan na makatipid sa iyo ng oras kapag nagprograma ng mga paghati sa binary. Ito ay tinatawag na binary komplimentaryong pamamaraan. Narito ang base, kinakalkula ang 111 - 011 (tiyakin na ang parehong mga numero ay pareho ang haba):
    • Hanapin ang pandagdag ng mga nasa pangalawang termino, ibabawas ang bawat digit mula sa 1. Madali mong magagawa ito sa mga binary number sa pamamagitan ng pagtatakda bawat 1 hanggang 0 at bawat 0 hanggang 1. Sa aming halimbawa, ang 011 ay nagiging 100.
    • Idagdag ang 1 sa resulta: 100 + 1 = 101. Tinatawag itong pandagdag ng 2. Isasaalang-alang namin ngayon ang isang pagbabawas bilang karagdagan. Ang kakanyahan ay tinatrato namin ang problema na parang nagdaragdag kami ng isang negatibong numero, sa halip na ibawas ang isang positibong numero, pagkatapos makumpleto ang pamamaraan.
    • Idagdag ang resulta sa unang term. Lutasin ang pagdaragdag: 111 + 101 = 1100.
    • Iwaksi ang unang digit (magdala ng digit). Alisin ang unang digit mula sa iyong sagot upang makuha ang pangwakas na resulta. 1100 → 100.
  3. Pagsamahin ang dalawang konsepto sa itaas. Ngayon alam mo kung paano gumagana ang pamamaraan ng pagbabawas para sa paglutas ng mga kabuuan ng dibisyon at pamamaraan ng pandagdag ng 2 para sa paglutas ng mga kabuuan ng pagbabawas.Maaari mong pagsamahin ang dalawa sa isang paraan ng paglutas ng mga kabuuan ng dibisyon, gamit ang mga hakbang sa ibaba. Kung nais mo, maaari mong subukang alamin ang iyong sarili bago magpatuloy.
  4. Ibawas ang tagahati mula sa dividend sa pamamagitan ng pagdaragdag ng pandagdag ng 2. Gawin natin ang problema: 100011 ÷ 000101. Ang unang hakbang ay upang malutas ang 100011 - 000101, gamit ang pandagdag na pamamaraan ng 2, upang magdagdag ito:
    • Kompleto ng 2 ng 000101 = 111010 + 1 = 111011
    • 100011 + 111011 = 1011110
    • Iwaksi ang unang digit (ang bitbit) → 011110
  5. Magdagdag ng 1 sa quient. Sa isang programa sa computer, ito ang punto kung saan taasan mo ang kabuuan ng 1. Sa papel, gumawa ng tala sa isang lugar sa isang sulok kung saan hindi nito guguluhin ang natitirang gawain mo. Matagumpay naming nagawa ang isang pagbabawas nang isang beses, kaya't ang kabuuan sa ngayon ay 1.
  6. Ulitin ito sa pamamagitan ng pagbawas sa tagahati mula sa natitira. Ang resulta ng aming huling pagkalkula ay ang natitirang natitira pagkatapos ng tagapamahalang "pumasok" nang isang beses. Magpatuloy na idagdag ang pandagdag ng tagapamahala ng 2 at ibawas ang dala. Magdagdag ng 1 sa quient bawat oras, at magpatuloy hanggang sa makakuha ka ng natitirang katumbas ng iyong mas maliit na tagapamahagi:
    • 011110 + 111011 = 1011001 → 011001 (quote 1 + 1 = 10)
    • 011001 + 111011 = 1010100 → 010100 (sumasalamin 10 + 1 = 11)
    • 010100 + 111011 = 1001111 → 001111 (11+1=100)
    • 001111 + 111011 = 1001010 → 001010 (100+1=101)
    • 001010 + 111011 = 10000101 → 0000101 (101+1=110)
    • 0000101 + 111011 = 1000000 → 000000 (110+1=111)
    • Ang 0 ay mas mababa sa 101, kaya ngayon maaari kaming tumigil. Ang quient 111 ang sagot sa bahagyang problema. Ang natitira ay ang pangwakas na resulta ng aming pagbabawas, sa kasong ito 0 (walang pahinga).

Mga Tip

  • Ang mga tagubilin sa pagtaas, pagbaba, o stack ay dapat isaalang-alang bago maglapat ng isang binary na pagkalkula sa isang hanay ng mga tagubilin sa makina.
  • Ang pandagdag na paraan ng 2 ng pagbabawas ay hindi gagana kung ang mga numero ay binubuo ng isang iba't ibang bilang ng mga digit. Magdagdag ng labis na mga zero sa mas maliit na bilang upang malutas ito.
  • Balewalain ang naka-sign na digit sa mga naka-sign na binary number bago gawin ang pagkalkula, maliban kapag sinusubukang matukoy kung positibo o negatibo ang isang sagot.