C#短错误:否定二进制补码数的最小值无效

我的项目遇到了这个错误,涉及使用数字音频信号.

所以我一直在获得振幅值,最近遇到了这个错误.当调试时遇到的幅度值为“-32768”时会发生这种情况.我将值存储在short []数组中.

我有预感它与最大/最小值有关(我使用Math.Abs​​)但我不确定如何处理它.

有人可以帮忙吗?谢谢!

16位有符号整数(short)取值介于-32,768和32,767之间.

在16位有符号整数内不可能取消-32768或获得绝对值.值(32,768)大于最大可能正值(32,767).

我不想告诉您如何在不了解您正在使用的算法的更多细节的情况下解决问题.

https://stackoverflow.com/questions/6265381/c-sharp-short-error-negating-the-minimum-value-of-a-twos-complement-number-is-i

转载注明原文:C#短错误:否定二进制补码数的最小值无效