Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ

Sistemi heksadecimal i numrave. Sistemi i numrave heksadecimal oktal binar

Për të shkruar programe në Assembler, duhet të kuptoni sistemin e numrave heksadecimal. Nuk ka asgjë të komplikuar në lidhje me të. Ne përdorim sistemin dhjetor në jetën tonë. Jam i sigurt që të gjithë e dini, kështu që do të përpiqem të shpjegoj sistemin heksadecimal me analogji me dhjetore.

Pra, në sistemin dhjetor, nëse i shtojmë zero çdo numri në të djathtë, atëherë ky numër do të rritet 10 herë. Për shembull: 1 x 10 = 10; 10 x 10 = 100; 100 x 10 = 1000, etj. Në këtë sistem, ne përdorim numrat nga 0 në 9, d.m.th. dhjetë shifra të ndryshme (në fakt, kjo është arsyeja pse quhet dhjetore).

Në heksadecimal ne përdorim përkatësisht gjashtëmbëdhjetë "shifra". E kam shkruar qëllimisht fjalën "shifra" në thonjëza, tk. përdor më shumë se numra. Në të vërtetë, si është kjo? Shpjegoj: numërojmë nga 0 në 9 njësoj si në dhjetor, por atëherë do të jetë kështu: A, B, C, D, E, F. Numri F sado i vështirë të jetë numërimi, do të jetë i barabartë me 15 në sistemin dhjetor (shih tabelën 1).

dhjetore

Numri heksadecimal

Tabela 1. Sistemet dhjetore dhe heksadecimale.

Kështu, nëse i shtojmë zero në të djathtë çdo numri në sistemin heksadecimal, atëherë ky numër do të rritet me16 një herë.

Shembulli 1: 1 x 16 = 10; 10 x 16 = 100; 100 x 16 = 1000, etj.

A ishit në gjendje të dalloni midis numrave heksadecimal dhe dhjetorë në shembullin 1? Dhe nga ky rresht: 10, 12, 45, 64, 12, 8, 19? Mund të jetë ose heksadecimal ose dhjetor. Për të shmangur konfuzionin dhe kompjuteri mund të dallojë në mënyrë unike disa numra nga të tjerët, është e zakonshme në Assembler të vendoset karakteri h ose H pas një numri heksadecimal ( H është shkurt për anglisht. heksadecimal (heksadecimal). Për shkurtësi, ndonjëherë quhet thjesht Heks ) . Dhe pas numrit dhjetor mos vendosni asgjë. Sepse numrat nga 0 në 9 në të dy sistemet kanë të njëjtin kuptim, atëherë numrat e shkruar si 5 dhe 5h janë të njëjtë.

Se. Shembulli 1 (shih më lart) do të ishte më i saktë të shkruhet si më poshtë: 1 x 16 = 10h; 10h x 16 = 100h; 100h x 16 = 1000h. Ose si kjo: 1h x 10h = 10h; 10h x 10h = 100h; 100h x 10h = 1000h.

Për çfarë shërben sistemi heksadecimal do të diskutohet në botimet e ardhshme. Për momentin, për shembullin e programit tonë, i cili do të diskutohet më poshtë, duhet të dimë për ekzistencën e numrave heksadecimalë.

Pra, le të përmbledhim. Sistemi heksadecimal i numrave përbëhet nga 10 shifra (nga 0 në 9) dhe 6 shkronja të alfabetit latin (A, B, C, D, E, F). Nëse i shtojmë zero çdo numri në sistemin heksadecimal në të djathtë, atëherë ky numër do të rritet me16 një herë. Është shumë e rëndësishme të kuptohet kjo temë., pasi do ta përdorim gjatë gjithë kohës kur shkruajmë programe.

Tani pak për mënyrën se si do të ndërtoj shembuj në Assembler. Nuk është shumë i përshtatshëm për t'i sjellë ato në format HTML, kështu që së pari do të jetë vetë kodi i programit me rreshta të numëruar, dhe menjëherë pas tij do të ketë shpjegime dhe shënime.

Kështu:

vargjet Kodi i programit
(1) mov ah, 9

Shpjegimet:

Në rreshtin (1) ne e bëjmë këtë, dhe në rreshtin (15) ne e bëjmë këtë.

Kërkesa e madhe: MOS kopjoni programe nga faqja në clipboard dhe më pas ngjitini ato në Notepad (ose kudo tjetër)! Rishkruajini ato me dorë në një redaktues teksti. Nëse keni një printer, atëherë zgjidhni programin, printoni përzgjedhjen dhe më pas transferojeni te redaktori nga letra. Ju duhet të shkruani të gjithë shembujt vetë! Kjo do të përshpejtojë memorizimin e operatorëve.

Dhe më tej. Shkronjat e vogla dhe të mëdha nuk dallohen në Assembler. Regjistrimet e formularit:

Ata perceptohen në të njëjtën mënyrë nga montuesi. Sigurisht, ju mund ta detyroni Assembler të bëjë dallimin midis karaktereve të vogla dhe të mëdha, por ne nuk do ta bëjmë këtë për momentin. Për lexueshmëri më të mirë të programit, është më mirë të shkruani deklaratat me shkronja të vogla dhe të filloni emrat e nënprogrameve dhe etiketave me shkronja të mëdha. Por kështu çdokush do të jetë rehat.

Pra, le të kalojmë në programin tonë të parë:

(1) segment CSEG

(2) org 100h

(4) Filloni:

(6) mov ah, 9

(7) mov dx, offset Mesazh

(8) në 21h

(10) në 20h

(11)

(12) Mesazhi db "Përshëndetje, botë! $"

(13) CSEG përfundon

(14) fund Fillimi

Ne kemi nevojë për botime të shumta për të shpjeguar të gjithë operatorët në këtë shembull. Prandaj, ne thjesht do të heqim përshkrimin e disa komandave në këtë fazë. Thjesht mendoni se kështu duhet të jetë. Në të ardhmen shumë të afërt, ne do t'i shqyrtojmë në detaje këta operatorë. Pra, thjesht injoroni rreshtat me numrat (1), (2) dhe (13).

Rreshtat (3), (5), (9) dhe (11) mbeten bosh. Kjo është bërë për qartësi. Asambleri thjesht do t'i heqë ato.

Tani le të kalojmë në shqyrtimin e pjesës tjetër të operatorëve. Rreshti (4) fillon kodin e programit. Ky është një etiketë që tregon Assembler-in në fillim të kodit. Rreshti (14) përmban fundin Fillimi ( Filloni eng. Fillimi; fund fund). Ky është fundi i programit. Në përgjithësi, në vend të një fjale Filloni mund të kishte përdorur diçka tjetër. Për shembull, Fillimi:. Në këtë rast, ne do të duhet të përfundojmë programin. Fund Fillimi (14).

Rreshtat (6) (8) shfaqin mesazhin Përshëndetje, botë !. Këtu do të duhet të flasim shkurtimisht për regjistrat e procesorëve (ne do ta shikojmë këtë temë më në detaje në versionin e ardhshëm).

Regjistri i procesorit është një memorie e caktuar posaçërisht për ruajtjen e një numri.

Për shembull:

Nëse duam të mbledhim dy numra, atëherë në matematikë shkruajmë kështu:

A, B dhe C këto janë një lloj regjistrash (nëse flasim për një kompjuter) në të cilët mund të ruhen disa të dhëna. A = 5 mund të lexohet si: Jepni A-së numrin 5 .

Për të caktuar një vlerë në një regjistër, ekziston një operator mov në Assembler (nga anglishtja move to load). Rreshti (6) duhet të lexohet si ky: Ngarkoni në regjistër AHnumri 9 (me fjalë të tjera, ne caktojmë AHnumri 9). Më poshtë do të shqyrtojmë pse kjo është e nevojshme.

Në rreshtin (7) ne ngarkojmë në regjistër DX adresa e mesazhit që do të shfaqet (në këtë shembull, do të jetë linjaPërshëndetje, botë! $).

Ndërprerjet do të diskutohen në detaje në publikimet vijuese. Këtu do të them disa fjalë.

Ndërprisni MS-DOS është një lloj nënprogrami (pjesa MS-DOS), i cili është i përhershëm në memorie dhe mund të thirret në çdo kohë nga çdo program.

Konsideroni sa më sipër duke përdorur një shembull (zgjidhni shënimet me shkronja të vogla):

Programi për mbledhjen e dy numrave

StartPrograms

A = 5 në ndryshoren A futim vlerën 5

B = 8 në variablin B vlera 8

Shtimi i rutinave të thirrjeve

tani C është 13

A = 10 të njëjtat, vetëm numra të ndryshëm

B = 25

Shtimi i rutinave të thirrjeve

tani C është 35

Fundi i programit

Mbledhja e nënprogramit

C = A + B

Kthimi Nga Rutinat kthehemi në vendin prej nga thirrën

FundRutines

Në këtë shembull, ne thirrëm nënprogramin dy herë Shtimi, i cili shtoi dy numrat e kaluar në variabla A dhe B ... Rezultati vendoset në variablin C. Kur thirret një nënprogram, kompjuteri kujton se nga është thirrur dhe më pas kur nënprogrami të ketë përfunduar punën, kompjuteri kthehet në vendin nga ku është thirrur. Se. nënprogramet mund të thirren pafundësisht nga kudo.

Kur ekzekutojmë rreshtin (8) të një programi Assembler, ne thërrasim një nënprogram (në këtë rast quhet ndërprerje) që printon vargun në ekran. Për këtë ne në fakt vendosim vlerat e nevojshme në regjistra. E gjithë puna e nevojshme (dalja e linjës, lëvizja e kursorit) merret nga nënprogrami. Ky rresht mund të lexohet kështu: thirrni ndërprerjen e njëzet e një ( int nga anglishtja. ndërpres ndërpres). Ju lutemi vini re se ka një letër pas numrit 21 h ... Ky, siç e dimë tashmë, është një numër heksadecimal (33 në dhjetor). Sigurisht, asgjë nuk na pengon të zëvendësojmë linjën nga 21 orë deri në 33. Programi do të funksionojë si duhet. Thjesht është zakon që në Assembler të tregohet numri i ndërprerjes në sistemin heksadecimal.

Në rreshtin (10), e keni marrë me mend, ne e quajmë ndërprerjen 20 h ... Për të thirrur këtë ndërprerje, nuk keni nevojë të specifikoni ndonjë vlerë në regjistra. Ai bën vetëm një gjë: dilni nga programi (dalja në DOS). Si rezultat i ekzekutimit të ndërprerjes 20h, programi do të kthehet në vendin nga ku është nisur (ngarkuar, thirrur). Për shembull, në Norton Commander ose DOS Navigator.

Rreshti (12) përmban mesazhin që duhet shfaqur. Fjala e pare ( mesazh mesazh) emri i mesazhit. Mund të jetë çdo gjë (për shembull, rrëmujë ose varg, etj.). O Kushtojini vëmendje rreshtit (7), në të cilin ngarkojmë në regjistër DX adresën e mesazhit tonë.

Mund të krijojmë një linjë tjetër, të cilën do ta quajmë rrëmujë 2. Pastaj, duke filluar nga rreshti (9), futni komandat e mëposhtme:

(10) mov dx, offset Mess2

(13) Mesazhi db "Përshëndetje, botë! $"

(14) Mess2 db "Jam unë! $"

dhe rimontoni programin tonë. Shpresoj se e keni marrë me mend se çfarë do të ndodhë

Kushtojini vëmendje karakterit të fundit në rreshta Mesazhi dhe Mess2 - $. Ai tregon në fund të rreshtit. Nëse e heqim, atëherë 21 h ndërprerja do të vazhdojë të dalë derisa të ndeshet me një karakter diku në memorie $. Në ekran do të shohim mbeturina .

Nëse keni një korrigjues, mund të shihni se si do të funksionojë programi ynë.

Qëllimi i kësaj çështjeje nuk ishte të kuptohej në detaje me secilin operator... Kjo është e pamundur, sepse nuk keni ende njohuri të mjaftueshme. Besoj se pas 3-4 çështjeve do të kuptoni parimin dhe strukturën e një programi Assembler. Ndoshta e keni gjetur gjuhën e asamblesë jashtëzakonisht të vështirë, por më besoni, në shikim të parë.

Shënimi heksadecimal ("Hex")është një mënyrë e përshtatshme për të paraqitur vlerat binare. Ashtu si dhjetori është baza dhjetë dhe binar është baza dy, heksadecimal është baza gjashtëmbëdhjetë.

Baza 16 përdor numrat nga 0 në 9 dhe shkronjat nga A në F. Figura tregon vlerat ekuivalente dhjetore, binare dhe heksadecimal për numrat binarë 0000 deri në 1111. Është më e lehtë për ne të shprehim një vlerë si një shifër heksadecimal sesa si katër bit.

Kuptimi i bajteve

Duke pasur parasysh se 8 bit (bajt) janë grupimi standard binar, numrat binarë nga 00000000 deri në 11111111 mund të përfaqësohen në shënimin heksadecimal si numra nga 00 në FF. Zerat kryesore shfaqen gjithmonë për të përfunduar paraqitjen 8-bit. Për shembull, vlera binare 0000 1010 në heks do të ishte 0A.

Përfaqësimi i vlerave heksadecimal

Shënim:Është e rëndësishme të bëhet dallimi midis vlerave heksadecimal dhe dhjetore për karakteret 0 deri në 9, siç tregohet në ilustrim.

Vlerat heksadecimal zakonisht përfaqësohen në tekst nga një vlerë e paraprirë nga 0x (si p.sh. 0x73), ose nga një nënshkrim 16. Më rrallë, ato mund të pasohen nga një H, si p.sh. 73H. Megjithatë, duke qenë se teksti i nënshkrimit nuk njihet në vijën e komandës ose në mjediset e programimit, në paraqitjen teknike të numrave heksadecimal, ai paraprihet nga "0x" (zero X). Prandaj, shembujt e mësipërm do të tregohen si 0x0A dhe 0x73, respektivisht.

Shënimi heksadecimal përdoret për të përfaqësuar adresat MAC të Ethernetit dhe adresat e versionit IP 6.

Konvertimet heksadecimal

Konvertimet e numrave midis vlerave dhjetore dhe heksadecimale janë të thjeshta, por ndarja ose shumëzimi i shpejtë me 16 nuk është gjithmonë i përshtatshëm. Nëse nevojiten konvertime të tilla, zakonisht është më e lehtë të konvertosh vlerën dhjetore ose heksadecimal në binar, dhe më pas të konvertosh vlerën binare në dhjetore ose heksadecimal, në varësi të asaj që dëshiron të marrësh.

Me praktikë, është e mundur të njihen modelet e biteve binare që korrespondojnë me vlerat dhjetore dhe heksadecimal. Figura tregon këto modele për disa vlera 8-bitësh.

Për të paraqitur numrat në një mikroprocesor, përdoret sistemi binar i numrave.
Në këtë rast, çdo sinjal dixhital mund të ketë dy gjendje të qëndrueshme: "nivel i lartë" dhe "nivel i ulët". Në sistemin binar, dy numra përdoren për të përfaqësuar çdo numër, përkatësisht: 0 dhe 1. Një numër arbitrar x = a n a n-1 ..a 1 a 0, a -1 a -2… a -m do të shkruhet në sistemin binar si

x = an 2 n + a n-1 2 n-1 +… + a 1 2 1 + a 0 2 0 + a -1 2 -1 + a -2 2 -2 +… + a -m 2 -m

ku a i- shifra binare (0 ose 1).

Sistemi i numrave oktal

Në sistemin oktal, shifrat bazë janë shifrat nga 0 në 7. 8 njësitë më pak të rëndësishme kombinohen në atë më të rëndësishmen.

Sistemi heksadecimal i numrave

Në shënimin heksadecimal, shifrat bazë janë shifra nga 0 në 15, duke përfshirë. Për të përcaktuar shifrat bazë më shumë se 9 në një karakter, përveç numrave arabë 0 ... 9, shkronjat e alfabetit latin përdoren në sistemin heksadecimal të numrave:

10 10 = A 16 12 10 = C 16 14 10 = E 16
11 10 = B 16 13 10 = D 16 15 10 = F 16.

Për shembull, numri 175 10 në shënimin heksadecimal do të shkruhet si AF 16. Vërtet,

10 16 1 + 15 16 0 = 160 + 15 = 175

Tabela tregon numrat nga 0 në 16 në sistemet e shënimeve dhjetore, binare, oktale dhe heksadecimal.

dhjetore Binar oktal Heksadecimal
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
16 10000 20 10

Konvertimet binare në oktal dhe binare në heksadecimal

Sistemi i numrave binar është i përshtatshëm për kryerjen e operacioneve aritmetike duke përdorur pajisje mikroprocesori, por i papërshtatshëm për perceptimin njerëzor, pasi kërkon një numër të madh bitësh. Prandaj, në teknologjinë kompjuterike, përveç sistemit binar të numrave, sistemet e numrave oktal dhe heksadecimal përdoren gjerësisht për një paraqitje më kompakte të numrave.

Sistemi i numrave oktal tre-bitësh zbaton të gjitha kombinimet e mundshme të shifrave oktal në sistemin e numrave binar: nga 0 (000) në 7 (111). Për të kthyer një numër binar në oktal, duhet të kombinoni shifrat binare në grupe me 3 shifra (triada) në dy drejtime, duke filluar nga ndarësi dhjetor. Nëse është e nevojshme, shtoni zero jo të rëndësishme në të majtë të numrit origjinal. Nëse numri përmban një pjesë të pjesshme, atëherë në të djathtë mund të shtohen edhe zero të parëndësishme derisa të plotësohen të gjitha treshe. Pastaj çdo treshe zëvendësohet nga një shifër tetëshe.

Shembull: Konvertoni 1101110.01 2 në oktal.

Ne kombinojmë shifrat binare në treshe nga e djathta në të majtë. marrim

001 101 110,010 2 = 156,2 8 .

Për të kthyer një numër nga oktal në binar, duhet të shkruani çdo shifër oktal në kodin binar:

156,2 8 = 001 101 110,010 2 .

Sistemi i numrave heksadecimal katër-bitësh zbaton të gjitha kombinimet e mundshme të shifrave heksadecimal në shënimin binar: nga 0 (0000) në F (1111). Për të kthyer një numër binar në heksadecimal, duhet të kombinoni shifrat binare në grupe me 4 shifra (tetrada) në dy drejtime, duke filluar nga ndarësi dhjetor. Nëse është e nevojshme, shtoni zero jo të rëndësishme në të majtë të numrit origjinal. Nëse numri përmban një pjesë të pjesshme, atëherë në të djathtë të tij, gjithashtu duhet të shtoni zero të parëndësishme derisa të plotësohen të gjitha fletoret. Pastaj çdo fletore zëvendësohet me një shifër heksadecimal.

Shembull: Konvertoni 1101110.11 2 në shënimin heksadecimal.

Ne kombinojmë numrat binarë në tetrada nga e djathta në të majtë. marrim

0110 1110.1100 2 = 6E, C 16.

Për të kthyer një numër nga heksadecimal në binar, duhet të shkruani çdo shifër heksadecimal në kodin binar.

Sistemi heksadecimal i numrave ka një alfabet prej 16 shifrash:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, b, c, d, e, f.

Kur shkruani një numër në një sistem heksadecimal, shkronjat A, B, C, D, E, F përdoren për të shkruar numrat që tregojnë përkatësisht numrat 10, 11, 12. 13, 14. 15.

Shndërrimi i numrave nga heksadecimal në dhjetor

Ju mund të konvertoni çdo numër heksadecimal në dhjetor duke përdorur formulën e njohur tashmë

Shembuj.

    AE07 16 = 10 ∙ 16 3 + 14 ∙ 16 2 + 0 ∙ 16 1 + 7 ∙ 16 0 = 44551 10.

    100 16 =1∙16 2 +0∙16 1 +0∙16 0 =256 10 .

    58 16 =5∙16 1 +8∙16 0 =.88 10 .

    2A 16 = 2 ∙ 16 1 + 10 ∙ 16 0 = 42 10.

Shndërrimi i një numri nga dhjetori në heksadecimal kryhet në të njëjtën mënyrë si në binar.

Shndërrimi i numrave nga heksadecimal në binar dhe anasjelltas

Ju mund të konvertoni çdo numër heksadecimal në binar si më poshtë. Çdo shifër e shënimit heksadecimal të një numri shkruhet në një numër binar katërshifror - fletore... Pas kësaj, zerot në të majtë mund të hidhen poshtë.

2) 2A = 0010 1010 2 = 101010 2.

3) 58 16 = 0101 1000 2 = 1011000 2 .

Në të kundërt, ju mund të konvertoni çdo numër binar në heksadecimal në të njëjtën mënyrë. Çdo katër shifra binare, duke numëruar nga e djathta në të majtë, shkruhen në një shifër heksadecimal. Këta numra janë gjithashtu të vendosur nga e djathta në të majtë.

Shembuj.

2,101010 2 = 10 1010 2 = 2A.

3. 1011000 2 = 101 1000 2 = 58 16 .

Sistemi i numrave oktal

Sistemi i numrave oktal ka një alfabet të përbërë nga 8 shifra:

0, 1, 2, 3, 4, 5, 6, 7.

Shndërrimi i një numri nga dhjetori në oktal dhe anasjelltas kryhet në analogji me konvertimin në binar / nga binar.

Shndërrimi i numrave nga oktal në binar dhe anasjelltas

Çdo shifër e paraqitjes oktale të një numri shkruhet në një numër binar treshifror - treshe.

Shembuj.

2563 8 = 010 101 110 011 2 =10101110011 2 .

1001101 2 = 001 001 101 2 = 115 8 .

Materiale metodike për klasën laboratorike nr.1

Tema e laboratorit: Sistemet e numrave. Matja e informacionit.

Numri i orëve: 2.

Shembuj me zgjidhje

    Përkthim ngafq -sistemi në 10-ar. Le të jetë e nevojshme përkthimi i një numri në një sistem të caktuar numrash në dhjetor. Për ta bërë këtë, ju duhet ta përfaqësoni atë në formë

11100110 2 = 1∙2 7 + 1∙2 6 + 1∙2 5 + 0∙2 4 + 0∙2 3 + 1∙2 2 + 1∙2 1 + 0∙2 0 = 128 + 64 + 32 + 4 + 2 = 230 10 .

2401 5 = 2∙5 3 + 4∙5 2 + 0∙5 1 + 1∙5 0 = 250 + 100 + 0 + 1 = 351.

    Transferimi nga sistemi 10-ar nëfq -ichny.

2.1 98 10 → X 2.

Pjesëtojeni numrin me 2. Më pas pjesëtojeni herësin jo të plotë me 2. Vazhdoni derisa herësi jo i plotë të bëhet më i vogël se 2, d.m.th. e barabartë me 1.

    98: 2 = 49. Pjesa e mbetur - 0 .

    49: 2 = 24. Pjesa e mbetur - 1 .

    24: 2 = 12. Pjesa e mbetur - 0 .

    12: 2 = 6. Pjesa e mbetur - 0 .

    6: 2 = 3. Pjesa e mbetur - 0 .

    3: 2 = 1 ... Pjesa e mbetur - 1 .

Meqenëse herësi i fundit jo i plotë është 1, procesi ka përfunduar. I shkruajmë të gjitha mbetjet nga poshtë lart, duke filluar nga herësi i fundit jo i plotë dhe marrim numrin 1100010. Pra 98 10 = 1100010 2.

2.2 2391 10 → X 16.

Pjesëtojeni numrin me 16. Më pas pjesëtojeni herësin jo të plotë me 16. Vazhdoni derisa herësi jo i plotë të jetë më i vogël se 16.

    2391: 16 = 149. Pjesa e mbetur është 7 .

    149: 16 = 9 ... Pjesa e mbetur - 5 .

Meqenëse koeficienti i fundit jo i plotë (9) është më i vogël se 16, procesi ka përfunduar. Shkruajmë, duke filluar nga herësi i fundit jo i plotë, të gjitha mbetjet nga poshtë lart dhe marrim numrin 957. Pra 2391 10 = 957 16.

2.3 12165 10 → X 2.

Nëse përkthehet me ndarje në një sistem binar, atëherë ju merrni një proces mjaft të rëndë. Fillimisht mund ta konvertoni numrin në sistemin oktal dhe më pas të zëvendësoni shifrat oktalike nga e djathta në të majtë me treshe.

12165 10 = 27605 8 = 010 111 110 000 101 = 10111110000101.

    Përcaktimi i bazës së sistemit të numravefq .

Një djalë shkroi për veten e tij: "Kam 24 gishta, 5 në secilën dorë dhe 12 në këmbë". Si mund të jetë kjo?

Zgjidhje. Është e nevojshme të përcaktohet baza e sistemit të numrave fq... Meqenëse e dimë se ka vetëm 10 10 gishtërinj, atëherë 12 fq =1∙fq+2 = 10 10. Nga kjo marrim ekuacionin fq + 2 = 10  fq= 8. Pra djali nënkuptonte numra në sistemin oktal. Në të vërtetë, ka gjithsej 24 8 gishta = 2 ∙ 8 + 4 = 20 10, dhe në këmbë - 12 8 = 1 ∙ 8 + 2 = 10 10.

Artikujt kryesorë të lidhur