作为一个个人项目,我正在为我的一个宠物项目实现任意精度数字类型。
我已经知道所有流行的、经过测试的和强大的库都可以做到这一点。我想将解决方案作为一个自我提升教育项目。
我正在研究该区域并试图弄清楚是否有某种方法可以在我实际进行计算之前粗略预测操作是否会导致溢出。我也不那么担心误报。
我希望能够使用适合计算的最小空间。如果计算将保持在其本机范围内,我将其保留在那里。
例如:Multiplying two 64 bit Integers if each are large enough will cause an overflow.
我想检测到这一点,并且仅当结果可能超过 64 位分辨率时才将数字上转换为我的数字类型。在这个实验中,我将使用带符号的数字。
检测上溢/下溢的最理智、最有效的方法是什么?