タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

cに関するtake55のブックマーク (1)

  • INT10-C. % 演算子を使用する際、結果の剰余が正であると想定しない

    INT10-C. % 演算子を使用する際、結果の剰余が正であると想定しない C89 (および歴史的な K&R 実装)では、負のオペランドに対する剰余演算は処理系定義であった。これは C99 で変更され、C11 にも受け継がれている。 すべての C コンパイラが C 言語規格に厳密に準拠しているわけではないため、様々なプラットフォームの様々なコンパイラでコンパイルされて利用されるコードは、% 演算子の動作に依存してはならない。 C 標準 [ISO/IEC 9899:2011] セクション 6.5.5 には次のように記載されている。 / 演算子の結果は、第1オペランドを第2オペランドで除した商とし、% 演算子の結果は剰余とする。両演算子とも、第2オペランドの値が0の場合、その動作は 未定義 とする。 および 整数同士の除算の場合、/ 演算子の結果は、代数的な商から小数部を切り捨てた値とする。商

    INT10-C. % 演算子を使用する際、結果の剰余が正であると想定しない
  • 1