在尝试用VB.NET编写ChaCha20加密算法的ARX部分时,我遇到了加法部分中溢出异常的问题。 在算法中有许多UInt32数字的加法,加法过程中数字应该溢出,但在我的代码的其他部分,我想捕捉这些异常。 处理此问题并完全避免溢出异常的一种方法是临时转换为UInt64,然后以这种方式进行添加: A= (a + b) mod 2^32 我不会得到任何溢出,但这不适用于ARX算法所需的循环位循环,因为我现在正在将位推入64位UInt中的空32位。 这种来回转换会使算法变慢,对于每个512位的数据块,我们要经历20轮的一组计算,因此这部分代码的性能非常重要。 在VB.NET中有没有更优雅的方法来处