as : "a" value to string; bs : "b" value to string;
al : "a" string length (integer); bl : "b" string length (integer)
ad : "a" decimal point (integer); bd : "b" decimal point (integer);
au : gold "a" upper value (string→integer); bu : "b" upper value (string→integer);
ab : "a" below value (string→integer); bb : "b" below value (string→integer);
ap : "a" # of places of decimal (integer); bp : "b" # of places of decimal (integer);
0.303과 0.0303은 다른 수이므로 자리수가 다름을 표시할 용도
ru : result upper value (integer); rb : result below value (integer)
소수점이 발견되는 자리 번호가 ad이므로 ad+1번에 해당되는 자리부터 끝까지 표기.
유효성 검사. the seed에서 지원되는 long(integer)가 unsigned였으면 1844경까지 가서 충분히 19자리로 놀 수 있었는데, signed long이므로 922경까지 가능한 공간에서 18자리로 잘라내기. 소수점 위 최대 18자리, 소수점 아래 최대 18자리