石橋"rubyholic"秀仁です。

From: gotoken / math.sci.hokudai.ac.jp (GOTO Kentaro)
Subject: [ruby-dev:9996] Re: % in C

> ごとけんです

> In message "[ruby-dev:9989] Re: % in C"
>     on 00/06/09, Yasuhiro Fukuma <yasuf / bsdclub.org> writes:
> >JIS X 3010-1993, 6.3.5 (乗除演算子) より引用:

> 福間さん、ありがとうございます。
> 
> (a/b)*b+a%b == a だけが決められているのかあ。

新 ANSI C 言語辞典, 平林雅英, 技術評論社, ISBN4-7741-0432-9
の「剰余演算子」の項より:
  ...したがって, 厳密な規格合致プログラムにおいて, 正負混合
  の剰余演算を行う場合は, div・ldiv 関数によらなければならない.

「div」の項の定義例、プログラム例、実行結果では、
 (q,r)=div(x,y)
 ( x, y)-( q, r)
 ( 7, 3)-( 2, 1)
 (-7, 3)-(-2,-1)
 ( 7,-3)-(-2, 1)
 (-7,-3)-( 2,-1)
 ( 0,-3)-( 0, 0)
としています。

御参考まで。

--
Hideto "rubyholic" ISHIBASHI
http://www.rr.iij4u.or.jp/~hideto-i/
blade clone (yaiba) development:
http://www.rr.iij4u.or.jp/~hideto-i/rb/yaiba/index.html