带进位减法(Subtract-with-carry)是一种时滞斐波那契伪随机数生成器 ,1991年由George Marsaglia与Arif Zaman发明。[1]
带进位减法的算法需用递推关系表示:
其中 .
常量S与R分别称作短时滞与长时滞。[2]S与R满足条件。
因此,表达式与对应于序列中之前的第S项与第R项。取模操作M的值为,其中W是状态序列的字(word)的位长度,。
带进位的减法与add-with-carry、subtract-with-borrow为同一族随机数生产引擎。[1]
带进位的减法是C++11标准模板库中的三种随机数生成器之一。[3]