「 負数の剰余を計算してはならない - おともだちティータイム」

負数が含まれる剰余を計算した場合、言語に跨がって一意な結果が得られない。 -5 % 3 5 % -3 C -2 2 C++ -2 2 Java -2 2 Ruby 1 -1 Python 1 -1 Common Lisp 1 -1 さて、なぜこんなことが起きるのかというと、剰余には複数の定義が存在するからである。 m ÷ n = q … rこの r を剰余と言うが、 r の範囲が 0 ≤ r 最小非負剰余 -n/2 ≤ r 絶対値最小剰余 の二つの定義があり、一般的には前者の「最小非負剰余」を用いるようである。m が負数、 n が正数の場合は、先程の表にあるプログラミング言語は以下のように分類…

負数が含まれる剰余を計算した場合、言語に跨がって一意な結果が得られない。 -5 % 3 5 % -3 C -2 2 C++ -2 2 Java -2 2 Ruby 1 -1 Python 1 -1 Common Lisp 1 -1 さて、なぜこんなことが起きるのかというと、剰余には複数の定義が存在するからである。 m ÷ n = q … rこの r を剰余と言うが、 r の範囲が 0 ≤ r 最小非負剰余 -n/2 ≤ r 絶対値最小剰余 の二つの定義があり、一般的には前者の「最小非負剰余」を用いるようである。m が負数、 n が正数の場合は、先程の表にあるプログラミング言語は以下のように分類…

shunirr.hatenablog.jp

Webページ

コンテンツ文字数:0 文字

見出し数(H2/H3タグ):0 個

閲覧数:124 件

2021-05-17 11:01:01

オリジナルページを開く