: arithmetic overflow



2使6502POWERARMPIC#

2

3+1

0  1  2  3  4  5  6  7 X 0 ...

0  1  2  3 Y -4  -3  -2  -1 YX 0 ...

XYXYYX

±+INF-INF

オーバーフローの処理方法

編集













21CPUIntel 8086INTO [1]



便FPU使





CC++[2][3]: wraparound[4]

プログラミング環境と算術オーバーフロー

編集



C#checkedcheckedchecked使System.OverflowException[5]TSystem.Math.Abs()T.MinValueSystem.OverflowException[6]

JavaC#checkedJava 8MathExact使ArithmeticException

ISO C/C++SIGFPE[7]POSIXFPE_INTOVFFPE_FLTOVF[8]C++BuilderFPE_INTOVFLOWFPE_OVERFLOW[9]Microsoft Visual C++_FPE_OVERFLOW[10]SIGFPE[11]

C99C++11fetestexcept()[12][13]FE_OVERFLOW使[14]

Microsoft Visual C++_controlfp_s()使Microsoft Windows[15][16][17]

DelphiC++BuilderSystem.SysUtils.EOverflow[18]ARM[19]System.SysUtils.EIntOverflow[20]

その他

編集

19965[21]

8999999991#

脚注

編集


(一)^ 15 8086198343083 

(二)^ MSC15-C. 

(三)^ Tell Programmers About Signed Integer Overflow Behavior

(四)^ INT30-C. 

(五)^ checked  unchecked  -   - C# | Microsoft Learn

(六)^ Math.Abs Method (System) | Microsoft Learn

(七)^ SIGTERM, SIGSEGV, SIGINT, SIGILL, SIGABRT, SIGFPE - cppreference.com

(八)^ <signal.h> - IEEE Std 1003.1-2017

(九)^ signalC RTL - RAD Studio

(十)^ _fpreset | Microsoft Learn

(11)^ SIG35-C.  SIGSEGVSIGILLSIGFPE 

(12)^ FLP03-C. 

(13)^ fetestexcept - cpprefjp C++

(14)^ FE_OVERFLOW - cpprefjp C++

(15)^ Structured Exception Handling - Win32 apps | Microsoft Learn

(16)^ _controlfp_s | Microsoft Learn

(17)^ Top Issues for Windows Titles - Win32 apps | Microsoft Learn

(18)^  - RAD Studio

(19)^  - RAD Studio

(20)^ System.SysUtils.EIntOverflow - RAD Studio API Documentation

(21)^ -5

関連項目

編集