infoarena

infoarena - concursuri, probleme, evaluator, articole => Informatica => Subiect creat de: gaboru corupt din Noiembrie 10, 2010, 11:09:07



Titlul: problema pointeri...
Scris de: gaboru corupt din Noiembrie 10, 2010, 11:09:07
O variabilă de tip char ocupă în memorie opt biţi. Aceşti opt biţi pot fi împărţiţi în două zone de câte patru biţi. În fiecare zonă de câte patru biţi s-ar putea memora câte un număr între 0 şi 15. Scrieţi un program care citeşte de la tastatură două numere între 1 şi 10 şi le memorează în cele două zone de câte patru biţi ale unei variabile de tip char. După memorare, programul extrage din variabila de tip char valorile memorate şi le afişează pe ecran.

Alta idee in afara sa memorez primul numar si sa il deplasez pe biti cu 4 pozitii nu am. Mai departe nu stiu cum sa memorez si al doilea numar. Ma ajuta si pe mine cineva?


Titlul: Răspuns: problema pointeri...
Scris de: Mircea Dima din Noiembrie 10, 2010, 11:54:27
Daca ai 2 variabile a si b (valori intre 0 si 15) si vrei sa le stochezi in variabila x(sub forma descrisa)
poti sa faci asa:

x = (x << 4) + a;// adaugi pe a

x = (x << 4) + b; // adaugi pe b

x << 4 inseamna x * 2^4

Iar ca sa afisezi pe b afisezi x % (1 << 4)
iar pe b afisezi x / (1 << 4)

De ce ai pus titlul "problema pointeri" ?  nu vad pointeri implicati aici...


Titlul: Răspuns: problema pointeri...
Scris de: gaboru corupt din Noiembrie 10, 2010, 12:08:23
problema era data la un laborator de info in care facusem pointeri... de acolo confuzia:p merci pt raspuns ;)