пришлось вернуться к http://www.owen.ru/forum/showthread....l=1#post215280 к фразеJava
Код:
a = 0x10325476;
b = 0xEFCDAB89;
c = 0x98BADCFE;
d = 0x27272727;
for (int i=0;i<14;i++) {
System.out.println(getXorShift());
}
private int getXorShift() {
int t = d ^ (d << 11);
d = c; c = b; b = a;
a ^= (a >> 19) ^ t ^ (t >> 8);
return (a & 16777215);
}
ПЛК100
Код:
tst.A:=16#10325476;
tst.B:=16#EFCDAB89;
tst.C:=16#98BADCFE;
tst.D:=16#27272727;
FOR i:=0 TO 13 DO
tst();
arr[i]:=tst.dwres;
END_FOR;
tst:
temp:= D XOR SHL(D,11);
D:=C;
C:=B;
B:=A;
A:= A XOR SHR(A,19) XOR temp XOR SHR(temp,8);
dwres:=A AND 16777215;
результат явы
3299144
2172764
3300658
2174726
3520605
6774944
1276691
211528
8033061
4821418
2339635
9968037
11357640
7750006
результат в плк на скрине
ну почему расхождение то, где я накосячил