Sa kurso ng computer science, anuman ang paaralan o unibersidad, isang espesyal na lugar ang ibinibigay sa isang konsepto bilang mga sistema ng numero. Bilang isang patakaran, maraming mga aralin o praktikal na pagsasanay ang inilalaan para dito. Ang pangunahing layunin ay hindi lamang upang matutunan ang mga pangunahing konsepto ng paksa, pag-aralan ang mga uri ng mga sistema ng numero, ngunit maging pamilyar din sa binary, octal at hexadecimal na arithmetic.
Ano ang ibig sabihin nito?
Magsimula tayo sa kahulugan ng pangunahing konsepto. Gaya ng tala ng Computer Science textbook, ang sistema ng numero ay isang sistema ng pagsulat ng mga numero na gumagamit ng isang espesyal na alpabeto o isang partikular na hanay ng mga numero.
Depende sa kung nagbabago ang value ng isang digit mula sa posisyon nito sa numero, dalawa ang nakikilala: positional at non-positional number system.
Sa mga positional system, nagbabago ang halaga ng isang digit kasama ng posisyon nito sa numero. Kaya, kung kukunin natin ang numerong 234, kung gayon ang bilang na 4 sa loob nito ay nangangahulugang mga yunit, ngunit kung isasaalang-alang natin ang numerong 243, narito na ang ibig sabihin nito ay sampu, hindi mga yunit.
Sa mga non-positional systemang halaga ng isang digit ay static, anuman ang posisyon nito sa numero. Ang pinaka-kapansin-pansin na halimbawa ay ang stick system, kung saan ang bawat yunit ay ipinahiwatig ng isang gitling. Kahit saan mo italaga ang wand, isa lang magbabago ang value ng numero.
Non-Positional System
Non-positional number system ay kinabibilangan ng:
- Isang sistema, na itinuturing na isa sa una. Gumamit ito ng mga stick sa halip na mga numero. Kung mas marami, mas malaki ang halaga ng numero. Makikilala mo ang isang halimbawa ng mga numerong nakasulat sa ganitong paraan sa mga pelikula kung saan pinag-uusapan natin ang tungkol sa mga taong nawala sa dagat, mga bilanggo na nagmamarka araw-araw sa tulong ng mga bingot sa bato o puno.
- Roman, kung saan ginamit ang mga letrang Latin sa halip na mga numero. Gamit ang mga ito, maaari kang sumulat ng anumang numero. Kasabay nito, natukoy ang halaga nito gamit ang kabuuan at pagkakaiba ng mga digit na bumubuo sa numero. Kung mayroong isang mas maliit na numero sa kaliwa ng digit, pagkatapos ay ang kaliwang digit ay ibinawas mula sa kanan, at kung ang digit sa kanan ay mas mababa sa o katumbas ng digit sa kaliwa, kung gayon ang kanilang mga halaga ay pinagsama-sama. pataas. Halimbawa, ang numerong 11 ay isinulat bilang XI, at 9 bilang IX.
- Alphabetic, kung saan ang mga numero ay tinukoy gamit ang alpabeto ng isang partikular na wika. Ang isa sa mga ito ay ang Slavic system, kung saan ang ilang mga titik ay hindi lamang phonetic, kundi pati na rin ang numerical value.
- Babylonian number system, na gumamit lamang ng dalawang simbolo para sa pagsulat - wedges at arrow.
- Egypt ay gumamit din ng mga espesyal na character upang kumatawan sa mga numero. Kapag nagsusulat ng numero, maaaring gamitin ang bawat karakter nang hindi hihigit sa siyam na beses.
Positional system
Malaking atensyon ang ibinibigay sa computer science sa mga positional number system. Kabilang dito ang mga sumusunod:
- binary;
- octal;
- decimal;
- hexadecimal;
- hexadecimal, ginagamit kapag nagbibilang ng oras (halimbawa, sa isang minuto - 60 segundo, sa isang oras - 60 minuto).
Ang bawat isa sa kanila ay may sariling alpabeto para sa pagsusulat, mga panuntunan sa pagsasalin at mga operasyong aritmetika.
Decimal system
Ang sistemang ito ang pinakapamilyar sa amin. Gumagamit ito ng mga numero mula 0 hanggang 9 upang magsulat ng mga numero. Tinatawag din silang Arabic. Depende sa posisyon ng digit sa numero, maaari itong magpahiwatig ng iba't ibang mga digit - mga yunit, sampu, daan-daan, libo o milyon. Ginagamit namin ito kahit saan, alam namin ang mga pangunahing panuntunan kung saan isinasagawa ang mga pagpapatakbo ng aritmetika sa mga numero.
Binary system
Ang isa sa mga pangunahing sistema ng numero sa computer science ay binary. Ang pagiging simple nito ay nagbibigay-daan sa computer na magsagawa ng masalimuot na mga kalkulasyon nang maraming beses nang mas mabilis kaysa sa decimal system.
Para magsulat ng mga numero, dalawang digit lang ang ginagamit - 0 at 1. Kasabay nito, depende sa posisyon ng 0 o 1 sa numero, magbabago ang value nito.
Sa una, ito ay sa tulong ng binary code na natanggap ng mga computer ang lahat ng kinakailangang impormasyon. Kasabay nito, ang ibig sabihin ng isa ay ang pagkakaroon ng signal na ipinadala gamit ang boltahe, at ang zero ay nangangahulugan ng kawalan nito.
Octalsystem
Isa pang kilalang computer number system kung saan ginagamit ang mga numero mula 0 hanggang 7. Ginamit ito pangunahin sa mga lugar ng kaalaman na nauugnay sa mga digital device. Ngunit kamakailan lamang ay hindi gaanong madalas itong gamitin, dahil pinalitan ito ng hexadecimal number system.
BCD
Ang representasyon ng malalaking numero sa binary system para sa isang tao ay medyo kumplikadong proseso. Upang gawing simple ito, binuo ang isang binary-decimal number system. Ito ay kadalasang ginagamit sa mga elektronikong relo, mga calculator. Sa sistemang ito, hindi ang buong numero ay na-convert mula sa decimal system patungo sa binary, ngunit ang bawat digit ay isinasalin sa kaukulang hanay ng mga zero at isa sa binary system. Ang parehong napupunta para sa pag-convert mula sa binary sa decimal. Ang bawat digit, na kinakatawan bilang isang apat na digit na hanay ng mga zero at isa, ay isinasalin sa isang digit sa sistema ng decimal na numero. Sa prinsipyo, walang kumplikado.
Upang magtrabaho sa mga numero, sa kasong ito, ang isang talahanayan ng mga sistema ng numero ay kapaki-pakinabang, na magsasaad ng pagsusulatan sa pagitan ng mga numero at ng kanilang binary code.
Hexadecimal
Kamakailan, ang hexadecimal number system ay lalong naging popular sa programming at computer science. Gumagamit ito hindi lamang ng mga numero mula 0 hanggang 9, kundi pati na rin ng bilang ng mga Latin na titik - A, B, C, D, E, F.
Kasabay nito, ang bawat isa sa mga titik ay may sariling kahulugan, kaya A=10, B=11, C=12 at iba pa. Ang bawat numero ay kinakatawan bilang isang set ng apat na character:001F.
Conversion ng numero: mula sa decimal patungo sa binary
Ang pagsasalin sa mga sistema ng numero ay nangyayari ayon sa ilang partikular na panuntunan. Ang pinakakaraniwang conversion mula sa binary hanggang decimal at vice versa.
Upang ma-convert ang isang numero mula sa decimal patungo sa binary, kinakailangan na palagiang hatiin ito sa base ng sistema ng numero, iyon ay, ang numerong dalawa. Sa kasong ito, ang natitira sa bawat dibisyon ay dapat na maayos. Ito ay magpapatuloy hanggang ang natitirang bahagi ng dibisyon ay mas mababa sa o katumbas ng isa. Pinakamabuting magsagawa ng mga kalkulasyon sa isang hanay. Pagkatapos, ang mga natanggap na natitira mula sa dibisyon ay isusulat sa string sa reverse order.
Halimbawa, i-convert natin ang numero 9 sa binary:
Hinahati namin ang 9, dahil hindi pantay na nahahati ang numero, pagkatapos ay kunin namin ang numerong 8, ang natitira ay magiging 9 - 1=1.
Pagkatapos hatiin ang 8 sa 2, makakakuha tayo ng 4. Hatiin itong muli, dahil pantay na mahahati ang numero - makuha natin ang natitirang 4 - 4=0.
Gawin ang parehong operasyon na may 2. Ang natitira ay 0.
Bilang resulta ng paghahati, makakakuha tayo ng 1.
Susunod, isusulat namin ang lahat ng balanseng natanggap namin sa reverse order, simula sa kabuuang dibisyon: 1001.
Anuman ang panghuling sistema ng numero, ang pag-convert ng mga numero mula sa decimal patungo sa anupamang iba ay magaganap ayon sa prinsipyo ng paghahati ng numero sa batayan ng positional system.
Isalin ang mga numero: mula sa binary hanggang decimal
Madaling i-convert ang mga numero sa decimal mula sa binary. Upang gawin ito, sapat na malaman ang mga patakaran para sa pagpapataas ng mga numero sa isang kapangyarihan. Dito sakaso, sa kapangyarihan ng dalawa.
Ang algorithm ng pagsasalin ay ang sumusunod: ang bawat digit mula sa binary number code ay dapat na i-multiply sa dalawa, at ang unang dalawa ay nasa kapangyarihan ng m-1, ang pangalawa - m-2 at iba pa, kung saan m ay ang bilang ng mga digit sa code. Pagkatapos ay idagdag ang mga resulta ng pagdaragdag, pagkuha ng isang integer.
Para sa mga mag-aaral, ang algorithm na ito ay maaaring ipaliwanag nang mas simple:
Upang magsimula, kinukuha at isinusulat namin ang bawat digit na minu-multiply sa dalawa, pagkatapos ay ibababa ang kapangyarihan ng dalawa mula sa dulo, simula sa zero. Pagkatapos ay idagdag ang resultang numero.
Halimbawa, tingnan natin ang dating nakuhang numerong 1001, i-convert ito sa decimal system, at sabay na suriin ang tama ng ating mga kalkulasyon.
Magiging ganito ang hitsura:
123 + 022+021+ 120=8+0+0+1=9.
Kapag pinag-aaralan ang paksang ito, maginhawang gumamit ng table na may dalawang kapangyarihan. Ito ay lubos na makakabawas sa dami ng oras na kinakailangan upang makumpleto ang mga kalkulasyon.
Iba pang pagsasalin
Sa ilang mga kaso, maaaring isagawa ang pagsasalin sa pagitan ng binary at octal, binary at hexadecimal. Sa kasong ito, maaari kang gumamit ng mga espesyal na talahanayan o patakbuhin ang application ng calculator sa iyong computer sa pamamagitan ng pagpili sa opsyong “Programmer” sa tab na View.
Mga pagpapatakbo ng aritmetika
Anuman ang anyo kung saan ipinakita ang isang numero, posibleng gawin ang mga karaniwang kalkulasyon dito. Ito ay maaaring paghahati at pagpaparami, pagbabawas at pagdaragdag sa sistema ng numero,na iyong pinili. Siyempre, bawat isa sa kanila ay may kanya-kanyang panuntunan.
Kaya para sa binary system ay bumuo ng sarili nitong mga talahanayan para sa bawat isa sa mga operasyon. Ang parehong mga talahanayan ay ginagamit sa iba pang mga positional system.
Hindi mo kailangang kabisaduhin ang mga ito - i-print lang ang mga ito at ihanda ang mga ito. Magagamit mo rin ang calculator sa iyong PC.
Isa sa pinakamahalagang paksa sa computer science ay ang number system. Ang pag-alam sa paksang ito, ang pag-unawa sa mga algorithm para sa paglilipat ng mga numero mula sa isang system patungo sa isa pa ay isang garantiya na mauunawaan mo ang mas kumplikadong mga paksa, tulad ng algorithmization at programming, at magagawa mong isulat ang iyong unang programa nang mag-isa.