Dの整数オーバーフローを検出する方法は? (キャリーフラグをチェックする?)整数のオーバーフローを検出する
オリジナル例:
ubyte a = 100;
ubyte b = 200;
ubyte c = a + b;
// c can't represent 300; how to detect the overflow now?
改訂例:乗算とプリ/ポストインクリメントとも
uint a = 2_000_000_000;
uint b = 3_000_000_000;
uint c = a + b;
// c can't represent 5_000_000_000; how to detect the overflow now?
。
は、C++で同じ質問をしています。http://stackoverflow.com/questions/199333/best-way-to-detect-integer-overflow-in-cc –
およびアセンブリhttp://stackoverflow.com/質問/ 3925528/x86-アセンブリー-inc命令と-d命令命令とオーバーフローフラグ –