08/12/13 18:17:49
seed = (a * seed + b)%0x100000000;
↓
x1=( ( seed % 0x10000) * ( a % 0x10000) ) % 0x10000;
x2=( ( seed % 0x10000) * ( a % 0x10000) ) / 0x10000;
x3=( ( seed / 0x10000) * ( a % 0x10000) ) % 0x10000;
x4=( ( seed % 0x10000) * ( a / 0x10000) ) % 0x10000;
seed = x1 + ( (x2 + x3 + x4) % 0x10000) * 0x10000 + b;
これなら32bitでもたぶんおk