キャリー付き乗算
x ← ( a x + c ) mod 2 32 , c ← ⌊ a x + c 2 32 ⌋ {\displaystyle x\leftarrow (ax+c)\,{\bmod {\,}}2^{32},\ \ c\leftarrow \left\lfloor {\frac {ax+c}{2^{32}}}\right\rfloor }
もし x と c が両方とも 0 でなければ、MWC 列の周期は ab − 1 を法とする剰余の乗法群における b = 2 の位数、すなわち、b = 1 mod (ab − 1) となる最小の n になる。もし 28〜31ビットの a を ab − 1 が安全素数となるよう選ぶと、ab − 1 と ab/2 − 1 は両方とも素数になり、周期は ab/2 − 1 となり、2 に近づく。実際にはとりうる32ビット値のペア x, c の数となるだろう。
以下は、上記の安全素数の条件を満たす a の最大値の例である。
次に、10で割った余りという単純な例を使って線形合同法と MWC の比較を行う。ここではレジスタは10進数1桁のサイズであるとし、連結レジスタは10進数2桁であるとする。
x 0 = 1 {\displaystyle x_{0}=1} から始めると、合同数列
x n = 7 x n − 1 + 3 mod 10 {\displaystyle x_{n}=7x_{n-1}+3\,{\bmod {\,}}10}
は連結レジスタ上で
10 , 03 , 24 , 31 , 10 , 03 , 24 , 31 , 10 , ... {\displaystyle 10,03,24,31,10,03,24,31,10,\ldots }
x n = ( b − 1 ) − ( a x n − 1024 + c n − 1 ) mod b , c n = ⌊ a x n − 1024 + c n − 1 b ⌋ {\displaystyle x_{n}=(b-1)-(ax_{n-1024}+c_{n-1})\,{\bmod {\,}}b,\ c_{n}=\left\lfloor {\frac {ax_{n-1024}+c_{n-1}}{b}}\right\rfloor }
の周期は a ⋅ {\displaystyle \cdot } 2 となり、109111 or 108798 or 108517 の a に対して約 10 となる。
b=2 で a = 3636507990 の時、p = ab − 1 は安全素数となるので、MWC 列の周期は 3636507990 ⋅ {\displaystyle \cdot } 2 ≈ {\displaystyle \approx } 10 となる。
b = 2 の時、CMWC 生成器で現在見つかっている中で最大に近い周期を持つものに、素数 p = 15455296b + 1 を元にしたものがあり、b の位数は 241489*2 すなわち約 10 である。