Matlab にはいらいらする特性があるようです。ステートメントの 2 つの結果が異なる理由がわかりません。変数を暗黙的に宣言すると double 型になるという知識は、理解するのに役立ちません。誰かがそれらの違いを説明できますか? これがコードです。
K>> m = int16(2799)
m =
2799
K>> n = int16(2800)
n =
2800
K>> int16( 0.5 * abs(n - m) - 0.5)
ans =
1
K>> int16 ( 0.5 * abs(2799 - 2800) - 0.5)
ans =
0
K>>