ホームページ > バックエンド開発 > C++ > C で数値を最も近い倍数に効率的に切り上げるにはどうすればよいですか?

C で数値を最も近い倍数に効率的に切り上げるにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-02 01:38:13
オリジナル
161 人が閲覧しました

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

C での最も近い倍数への数値の四捨五入

最も近い倍数への数値の四捨五入は、プログラミングにおける基本的な操作です。 C では、これは単純な整数計算を使用して実現できます。

単純な切り上げアルゴリズム

最初のアルゴリズムは 0 の倍数をチェックし、その中の元の数値を返します。場合。それ以外の場合は、切り捨てられた値が計算され、その倍数が加算されます。ただし、このアプローチは正の数値に対してのみ機能します。

丸めアルゴリズムの改善

負の数値の問題に対処するには、より堅牢なアルゴリズムが必要です。この改良版は数値の絶対値を利用し、丸められた結果が常に入力値以上になるようにします。

実装:

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;
}
ログイン後にコピー

これアルゴリズムは正と負の両方の数値を正しく処理し、提供された例で指定されているように、予想される切り上げ値を提供します。

以上がC で数値を最も近い倍数に効率的に切り上げるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート