J'ai besoin d'un code en Java pouvant trouver la plus petite puissance de 2 supérieure ou égale à tout entier non négatif entré par l'utilisateur. Quelqu'un peut-il aider?Code d'affichage de la plus petite puissance 2 supérieure ou égale à l'entier
Répondre
vous pouvez le faire en comptant le nombre de décalages vers la droite jusqu'à ce que le résultat non signé est nul
if (i==0) return 1;
else if (i==1) return 2;
else if (i==2 || i==3) return 4;
else if (i==4 || i==5 || i==6 || i==7) return 8;
else if (...)
oh, voulez-vous dire que vous avez besoin d'un bon moyen? – mob
i>1 ? Integer.highestOneBit(i-1)<<1 : 1
souffre évidemment de débordement d'entier (il n'y a pas une solution strictement correcte int
pour environ la moitié de positif int
s).
Avertissement: Non testé ou compilé.
Pourquoi ne pas utiliser Long.highestOneBit? – Yishai
Eh bien, vous pourriez le faire, mais si vous avez commencé avec un 'int', vous voulez probablement un résultat' int' de toute façon. Aussi, vous ne pouvez pas faire cela pour 'long'. Des entiers de précision arbitraires ftw! –
int nextPow2(int n) {
if (n <= 1) return n;
double d = n - 1;
return 1 << ((Double.doubleToRawLongBits(d) >> 52) - 1022);
}
La solution la plus rapide que j'ai trouvée sur le bureau.
- 1. C# rogner une image à la petite partie supérieure
- 2. comment égale à 2 variable date C#
- 3. varchar - Une puissance de deux est-elle plus efficace?
- 4. Visual Studio RegEx Remplacer - 2 ou plus?
- 5. UITabBarContoller Couleur de la barre supérieure de l'option "Plus"
- 6. La plus petite taille de bouton sur un écran tactile
- 7. Comment recadrer ou obtenir une UIImage de plus petite taille dans l'iPhone sans fuites de mémoire?
- 8. Quelle est la plus petite empreinte dans C#
- 9. Petite animation iPhone: séquence vidéo ou image?
- 10. Trouver la plus petite valeur parmi les variables?
- 11. MySql requête, sélectionnez supérieure à
- 12. Accès à la mémoire supérieure à UINT_MAX * 4 en C?
- 13. SUPPRIMER à partir de la table mysql WHERE colonne égale valeur ET colonne2 égale valeur2
- 14. SQL - min() obtient la valeur la plus basse, max() la plus haute, et si je veux la 2ème (ou la 5ème ou la nième) valeur la plus basse?
- 15. Jetée ou Tomcat pour petite Linode
- 16. Comment puis-je trouver la plus petite valeur dans un hachage Perl de hachages de tableaux?
- 17. Erreur "MSB3176: la version minimale requise spécifiée est supérieure à la version actuelle de publication"
- 18. Existe-t-il une méthode statique "à la fois nulle ou égale"?
- 19. Notification d'état de la puissance Symbian
- 20. à partir de la rangée 2 ou 3 UITableView
- 21. Remplir 2 tables ou plus dans ASP MVC
- 22. DIV égale hauteur à l'intérieur flottaient « ligne »
- 23. Quelle est la relation entre MCPS (million de cycles par seconde) et la puissance consommée
- 24. La façon la plus succincte de déterminer si une variable est égale à une valeur d'une «liste» de valeurs
- 25. quoi de plus coûteux, 2 mises à jour, ou une suppression et un insert?
- 26. Restrictions de taille de code à barres 128. La police de codes à barres la plus compacte?
- 27. ASP.Net ScriptManager - Existe-t-il une version plus petite?
- 28. Comment créer un fichier de taille supérieure à 2 Go sous Linux/Unix?
- 29. Comment exécuter 2 copies ou plus de la même WebSolution en même temps?
- 30. Définition de Substr à une longueur supérieure à la longueur de la chaîne
Eclipse est un langage de programmation? Oh oh. –
Eclipse est un IDE quelle langue? De plus, ça sent une question de devoirs. Qu'avez-vous essayé? –
Voulez-vous dire Java? – lod3n