同余定理与二进制补码
我们知道,计算机使用2的补码(Two's complements)来表示负数。这样有一个好处:可以使用同一种运算规则来处理正负数的运算,否则,二进制的正数和负数相加,将会得到错误的结果。为了处理这个讹误,必须为负数设计一套“加法器”。关于这一部分的讨论,参照 关于2的补码。
而补码使正负数使用同一套“加法器/乘法器”规则,实际上利用了同余运算的性质。
...我们知道,计算机使用2的补码(Two's complements)来表示负数。这样有一个好处:可以使用同一种运算规则来处理正负数的运算,否则,二进制的正数和负数相加,将会得到错误的结果。为了处理这个讹误,必须为负数设计一套“加法器”。关于这一部分的讨论,参照 关于2的补码。
而补码使正负数使用同一套“加法器/乘法器”规则,实际上利用了同余运算的性质。
...所有的递归问题,其实都可以用非递归的方式实现。
已经介绍过一个 循环数组,这里介绍另一种实现方法。
参考: Implementing a Ring Buffer in Java
使用循环数组实现有界循环队列:
参考: Implementing a Queue using a circular array