|
< C a p i t o l u l a n t e r i o r < |
1. Algoritm 2. Discuție Sistemul de numerotare hexazecimal are 16 cifre. Suntem obișnuiți cu sistemul decimal, în care avem 10 cifre (de la 0 la 9). În hexazecimal avem încă 6 și ca să nu inventăm simboluri noi, am folosit primele litere ale alfabetului latin. Așadar:
Pe cât de ciudat pare, numărul A12F3 este corect. Chiar dacă are litere. În baza 10 el este numărul 660211. Sistemele de numerotare binare și hexazecimale sunt, ciudat, foarte apropiate. Nu e nevoie de ceva algoritm complicat să facem conversia dintr-unul în altul. De ce? Ziceam ca în hexa avem 16 „cifre”. Ei bine, în binar, într-un spațiu de 4 cifre pot fi memorate... 16 valori. Adică avem o echivalență directă între cifrele hexazecimale și grupuri de câte 4 cifre binare. Hai să vedem practic despre ce vorbesc:
Așa că putem construi un algoritm care ia primele 4 cifre binare și le convertește în echivalentul hexazecimal. Și repetă această operație cu următoarele 4 cifre până când numărul binar ni se termină. Singura problemă este că lungimea numărul binar trebuie să fie un multiplu de 4. Adică numărul 101 este 5 dar ca să fie compatibil cu algoritmul nostru de conversie, el trebuie să fie de lungime 4, adică 0101. Așa că prin liniile: if length(binary) MOD 4 <> 0 then |
> C a p i t o l u l u r m ă t o r > |
Ți-a fost de ajutor ce am scris aici?
Motivul:
Hei, mersi de răspuns.
|