Próbuję policzyć liczbę jedynek w binarnej reprezentacji liczby całkowitej. Muszę to zrobić rekurencyjnie. Myślę, że moja logika jest poprawna, ale nadal otrzymuję przepełnienie stosu. Zajmuję się rozwiązywaniem problemów drugiego dnia. Oto mój kod:przepełnienie stosu dla rekurencyjnego liczby elementów w java
static int CountRecursive(int n) {
int sum = 0;
if (n >= 0) {
if (n%2 == 1) {
sum ++;
} sum += CountRecursive(n/2);
} return sum;
}
Moja logika jest oparte na tej informacji: „Standardowy mechanizm konwersji z przecinku do binarnych jest wielokrotnie podzielić liczbę dziesiętną przez 2 i, w każdym dziale, moc pozostała (0 lub 1). "
Zauważ jednak, że trzeba dostosować swoje rozwiązanie jeszcze bardziej do pracy dla ujemnych liczb całkowitych zbyt. – biziclop