Maison > développement back-end > C++ > Comment arrondir efficacement les nombres au multiple le plus proche en C ?

Comment arrondir efficacement les nombres au multiple le plus proche en C ?

Linda Hamilton
Libérer: 2024-12-02 01:38:13
original
171 Les gens l'ont consulté

How to Efficiently Round Up Numbers to the Nearest Multiple in C  ?

Arrondir les nombres au multiple le plus proche en C

Arrondir les nombres au multiple le plus proche est une opération fondamentale en programmation. En C, cela peut être réalisé en utilisant des mathématiques entières simples.

Algorithme d'arrondi simple

L'algorithme initial vérifie un multiple de 0, renvoyant le nombre d'origine dans celui-ci. cas. Sinon, il calcule la valeur arrondie et y ajoute le multiple. Cette approche, cependant, ne fonctionne que pour les nombres positifs.

Algorithme d'arrondi amélioré

Pour résoudre le problème des nombres négatifs, un algorithme plus robuste est nécessaire. Cette version améliorée utilise la valeur absolue du nombre et garantit que le résultat arrondi est toujours supérieur ou égal à l'entrée.

Mise en œuvre :

int roundUp(int numToRound, int multiple) {
    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;
}
Copier après la connexion

Ceci L'algorithme gère correctement les nombres positifs et négatifs, fournissant les valeurs arrondies attendues comme spécifié dans les exemples fournis.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal