ciao devo realizzare realizzare un programma che mi sta dando qualche problema..devo scrivere un programma che determini il numero di bit uguali ad 1,presenti in un valore int,fornito come argomento,con gli operatori di manipolazione dei bit(es:&,|,^,<<,>>,>>>)
es programma:
input:011
output:2
Inoltre non posso utilizzare i metodi gia presenti nelle librerie java(es:Integer.bitCount());
Il mio codice è:
Il mio programma valuta solo il primo numero,infatti stampa 1;come posso far si che il ciclo while valuti anche le altre cifre con l'operatore <<?codice:class Operatori{ int n; Operatori(int nu){ this.n=nu; } public int numuno(){ int count=0; while((n&1)==(1)){ count++; n=n<<1; } return count; } public static void main(String[] args){ Operatori o=new Operatori(0111); System.out.println(o.numuno()); } }![]()