福間@福岡 です。

記事 <200006081625.BAA05749 / hanare00.math.sci.hokudai.ac.jp> にて、
gotoken / math.sci.hokudai.ac.jp (GOTO Kentaro) さんは書きました:

> C言語では % 演算子が負のオペランドについてどう振る舞うべきか
> は決まっていますか?? 現状では、rb_fix_modulo() が % を使って
> いるので、もしCの % が処理系依存ならRubyもそれを引き継いでい
> ることになると思いました。

JIS X 3010-1993, 6.3.5 (乗除演算子) より引用:

  整数同士の除算で割り切れない場合, (中略) 一方のオペランドが負の値を
  もつ場合, / 演算子の結果が代数的な商以下の最大の整数とするか, 又は
  代数的な商以上の最小の整数とするかは, 処理系定義とし, % 演算子の結果の
  符号も処理系定義とする。商 a/b が表現できる場合, 式 (a/b)*b+a%b は,
  a に等しくなければならない。

---
 FUKUMA Yasuhiro (福間 康弘) as Yasu.F @ Kitakyushu.Fukuoka.Japan
 Web site: http://www.bsdclub.org/~yasuf/
 PGP fingerprint = 17 25 8A F3 99 E5 7E 19  C0 EA 6E 03 8A C3 CE F0
 “いちばん苦手な言語は、日本語です。”