タグ

ブックマーク / s-yata.hatenadiary.org (1)

  • 整数除算のオーバーフローについて - やた@はてな日記

    整数除算のエラーとしては 0 による除算が有名ですが,オーバーフローも致命的なエラーになるなりえるという話です. (追記 2014-02-27) そもそも整数の演算におけるオーバーフロー時の動作は未定義なのですが,加算,減算,乗算のオーバーフローについては,オーバーフローした分が捨てられるという前提で使っていることがよくあります.当はやっちゃ駄目なのでしょうが…. INT32-C. 符号付き整数演算がオーバーフローを引き起こさないことを保証する http://www.jpcert.or.jp/sc-rules/c-int32-c.html 具体的には,符号付き 32-bit 整数の除算で INT32_MIN / -1 となったとき,およびに符号付き 64-bit 整数の除算で INT64_MIN / -1 となったときにオーバーフローが起きます(※1). 8-bit や 16-bit

    整数除算のオーバーフローについて - やた@はてな日記
  • 1