Maison >développement back-end >C++ >Comment arrondir efficacement au multiple le plus proche en C ?
Meilleure approche pour arrondir aux multiples supérieurs en C
En C, arrondir un nombre au multiple supérieur le plus proche d'un nombre donné peut être obtenu efficacement en utilisant la technique suivante :
int roundUp(int numToRound, int multiple)<br>{</p> <pre class="brush:php;toolbar:false">if (multiple == 0) return numToRound; int remainder = numToRound % multiple; if (remainder == 0) return numToRound; return numToRound + multiple - remainder;
}
Cette méthode utilise l'arithmétique entière de base pour calculer le multiple le plus proche pour les nombres positifs. C'est simple et fonctionne efficacement.
Gestion des nombres négatifs
Lors de l'arrondi des nombres négatifs, la définition de « vers le haut » devient ambiguë. En fonction de l'application spécifique, différentes interprétations de l'arrondi peuvent être appropriées. La solution fournie suppose que l'arrondi signifie un résultat toujours supérieur ou égal au nombre saisi :
int roundUp(int numToRound, int multiple)<br>{</p> <pre class="brush:php;toolbar:false">if (multiple == 0) return numToRound; int remainder = abs(numToRound) % multiple; if (remainder == 0) return numToRound; if (numToRound < 0) return -(abs(numToRound) - remainder); else return numToRound + multiple - remainder;
}
Cette fonction modifiée garantit que quel que soit le signe de l'entrée nombre, le résultat ne sera jamais inférieur à l'entrée elle-même.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!