|
< C a p i t o l u l a n t e r i o r < |
1. Algoritm Pentru a afla echivalentul unui număr obișnuit în baza 2, tot ce trebuie să facem e să împărțim succesiv numărul nostru la 2 până când numărul înițial devine 0. Și la fiecare împățire ținem minte restul (care poate fi 0 sau 1). Apoi citim numărul invers, de la dreapta la stanga și gata. De exemplu pentru numărul 11 avem:
Așadar numărul 11 în binar este 1011. 2. Executare 3. Discuție Fiindcă numărul în binar trebuie citit de la dreapta la stânga, îl vom memora sub formă de șir de caractere. E mult mai ușor de inversat decât lucrând cu numere. În C++ nu există concatenare simplă, folosind un simbol precum „+”. De aceea ne folosim de strcat care primește doi parametri. Primul este șirul la care se adaugă conținutul celui de-al doilea. Și fiindcă C++-ul folosește funcții, aceasta returnează adresa pointerului concatenat (care de fapt e adresa primului parametru). Așadar începem de la un șir vid căruia îi adăugăm valori de „0” sau „1”. Iar pentru a-l inversa, folosim funcția strrev care pur și simplu inversează conținutul variabilei șir de caractere dată. Ambele funcții sunt definite în librăria string.h, de aceea o vom include la începutul programului. iostream.h ne dă posibilitatea de a utiliza cout și cin. Adică C out și C in. |
> 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.
|