Come faccio a fare un programma che inserito un numero decimale attraverso l'uso degli opratori logici mi restituisca il numero in binario.
Linguaggio C
Ciao![]()
Come faccio a fare un programma che inserito un numero decimale attraverso l'uso degli opratori logici mi restituisca il numero in binario.
Linguaggio C
Ciao![]()
Non puoi farlo con gli operatori logici: devi usare le divisioni intere e l'operatore resto.
"Le uniche cose che sbagli sono quelle che non provi a fare."
Atipica
Beh questo lo so ma il mio libro mi da questo esercizio specificando di usare gli operatori logici
Beh, allora puoi anche fare così:
Se fai lo and binario tra il numero da convertire e 2^n, ottieni zero se l'ennesimo bit è spento e <>0 se è acceso.
Così puoi creare la visualizzazione binaria.
"Le uniche cose che sbagli sono quelle che non provi a fare."
Atipica
Hai presente l'operatore di and binario? Mi sembra che si tratti di && ...
se a è il numero che ti è stato dato, e ne fai lo and binario con 2 elevato alla n ottieni 2 elevato alla n se il bit corrispondente nel numero originario era acceso.
Esempio
1111 = 15
0100 = 2^2 = 4
1111 && 0100 = 0100 = 4 = 2^2
quindi il bit numero due (i bit si conteno da destra a partire da zero) dovrà essere acceso.
Se ora crei un ciclo così:
a=numero da convertire
n=0
while 2^n<a
if a && (2^n) == (2^n)
stringa = "1" + stringa
else
stringa = "0" + stringa
endif
n+=1
endwhile
e ora stampi stringa ottieni la visualizzazione della stringa binaria.
Chiaro?
"Le uniche cose che sbagli sono quelle che non provi a fare."
Atipica
Se no shifti a destra e fai l`and sempre con 1.