J'essaie de compter le nombre d'Ones dans la représentation binaire d'un entier. Je dois le faire de manière récursive. Je pense que ma logique est correcte mais je continue à avoir un débordement de pile. Je suis le jour 2 dépannage. Voici mon code:Dépassement de pile pour le comptage récursif d'éléments en Java
static int CountRecursive(int n) {
int sum = 0;
if (n >= 0) {
if (n%2 == 1) {
sum ++;
} sum += CountRecursive(n/2);
} return sum;
}
Ma logique est basée sur ces informations: « Le mécanisme standard pour la conversion de décimal en binaire est de diviser à plusieurs reprises le nombre décimal par 2 et, à chaque division, sortie le reste (0 ou 1)."
Notez cependant que vous devez modifier votre solution encore plus à travailler pour les entiers négatifs aussi. – biziclop