差一错误（，缩写OBOE）是在计数时由于边界条件判断失误导致结果多了一或少了一的错误，通常指计算机编程中循环多了一次或者少了一次的程序错误，属于逻辑错误的一种。比如，程序员在循环中进行比较的时候，本该使用「小于等于」，但却使用了「小于」，或者是程序员没有考虑到一个序列是从0而不是1开始（许多程序语言的数组下标都是这样）。在数学领域，此错误也时有发生。
遍历数组.假设现在有一堆物品，按"m"到"n"（含）依次编号。那么这堆物品的总数是多少？我们可能会直觉地认为有("n" - "m")