[주의!] 문서의 이전 버전(에 수정)을 보고 있습니다. 최신 버전으로 이동
분류
→ 원본에 대한 자세한 내용은 틀:구 계산기2 문서를 참고하십시오.
→ 떼어낸 계산기에 대한 자세한 내용은 틀:계산기2-1 문서를 참고하십시오.
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→string); rb : "result" below value (integer→string);
rp : "result" # of places of decimal (integer);
rs : "result" suprerior value (integer→string); ri : "result" inferior value (integer→string);
i : index; tv temporary value 1 (integer); tw temporary value 2 (integer); ps : pass (logical);
ea : error about "a"; eb : error about "b";
wa : warning about "a" ; wb : warning about "b" ;
ns : negative sign for multiplication and division (string);
소수점이 발견되는 자리 번호가 ad이므로 ad+1번에 해당되는 자리부터 끝까지 표기합니다.
the seed에서 지원되는 long(integer)가 unsigned였으면 1844경까지 가서 충분히 19자리로 놀 수 있었는데, signed long이므로 922경까지 가능한 공간에서 18자리로 잘라내기. 소수점 위 최대 18자리, 소수점 아래 최대 18자리
error code 02 번 : 입력한 변수는 숫자로 읽을 수 없습니다. 반점(,)을 입력했다면 반점을 지우고 다시 입력하세요.
덧셈과 뺄셈 계산과정을 적어봅니다.
먼저 ru를 문자열로 변환합니다. 18자리씩 끊어 표기하므로 소수점 위 19~36번째 자리에 해당하는 rs값이 (곱한 값을 더했는데도) 0일 경우 rs를 빈 문자열로 바꿉니다. 곱셈과정에서 ru의 윗자리인 rs값이 0보다 클 경우, 1~18번째 자리인 ru에 빈 자리를 채우도록 ru의 왼쪽을 0으로 채웁니다.
소수점 아래 마지막 문자의 번호는 (문자열 길이 - 1)입니다. 극단적으로 .10000 00000 00000 000 같은 것이 나올 수 있겠지만 18회 조사합니다.
substr(0,0)으로 하면 ""이 됩니다.
rb를 문자열로 변환합니다. 곱셈 과정에서 소수점 아래 19~36번째 자리에 해당하는 ri값이 0일 경우 ri를 빈 문자열로 바꿉니다. ri가 0보다 클 경우 rb를 문자열로 변환하고 rb의 오른쪽을 0으로 채웁니다.
곱셈연산이면서 ri가 빈 문자열이 아닐 경우 true를 주는 논리값으로 ps를 정의합니다.
ps가 true이면 ri를 rb의 문자열 길이로 정의하고, 그렇지 않은 경우 rp를 rb의 문자열 길이로 다시 정의합니다.
곱셈연산이면서 ri가 빈 문자열이 아닐 경우 ri의 오른쪽부터 붙은 "0"들을 모두 지웁니다, 그렇지 않을 경우 rb의 오른쪽에 붙은 "0"들을 모두 지웁니다,
rb 정리를 이것으로 종료합니다.
error code 03 번 : 오버플로
error code 04 번 : 언더플로
error code 05 번 : 0으로 나눌 수 없습니다.
아래 출력 변수 설명
sa : searching a; sb : searching b; sf : searching f;
rl : result string length to output; p : a point of string(s);
ru는 계산결과에서 소수점 위 자리이므로, dot(.)이 나오지 않습니다.
al : "a" string length (integer); bl : "b" string length (integer)
ad : "a" decimal point (integer); bd : "b" decimal point (integer);
au :
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→string); rb : "result" below value (integer→string);
rp : "result" # of places of decimal (integer);
rs : "result" suprerior value (integer→string); ri : "result" inferior value (integer→string);
i : index; tv temporary value 1 (integer); tw temporary value 2 (integer); ps : pass (logical);
ea : error about "a"; eb : error about "b";
wa : warning about "a" ; wb : warning about "b" ;
ns : negative sign for multiplication and division (string);
소수점이 발견되는 자리 번호가 ad이므로 ad+1번에 해당되는 자리부터 끝까지 표기합니다.
the seed에서 지원되는 long(integer)가 unsigned였으면 1844경까지 가서 충분히 19자리로 놀 수 있었는데, signed long이므로 922경까지 가능한 공간에서 18자리로 잘라내기. 소수점 위 최대 18자리, 소수점 아래 최대 18자리
error code 02 번 : 입력한 변수는 숫자로 읽을 수 없습니다. 반점(,)을 입력했다면 반점을 지우고 다시 입력하세요.
덧셈과 뺄셈 계산과정을 적어봅니다.
먼저 ru를 문자열로 변환합니다. 18자리씩 끊어 표기하므로 소수점 위 19~36번째 자리에 해당하는 rs값이 (곱한 값을 더했는데도) 0일 경우 rs를 빈 문자열로 바꿉니다. 곱셈과정에서 ru의 윗자리인 rs값이 0보다 클 경우, 1~18번째 자리인 ru에 빈 자리를 채우도록 ru의 왼쪽을 0으로 채웁니다.
소수점 아래 마지막 문자의 번호는 (문자열 길이 - 1)입니다. 극단적으로 .10000 00000 00000 000 같은 것이 나올 수 있겠지만 18회 조사합니다.
substr(0,0)으로 하면 ""이 됩니다.
rb를 문자열로 변환합니다. 곱셈 과정에서 소수점 아래 19~36번째 자리에 해당하는 ri값이 0일 경우 ri를 빈 문자열로 바꿉니다. ri가 0보다 클 경우 rb를 문자열로 변환하고 rb의 오른쪽을 0으로 채웁니다.
곱셈연산이면서 ri가 빈 문자열이 아닐 경우 true를 주는 논리값으로 ps를 정의합니다.
ps가 true이면 ri를 rb의 문자열 길이로 정의하고, 그렇지 않은 경우 rp를 rb의 문자열 길이로 다시 정의합니다.
곱셈연산이면서 ri가 빈 문자열이 아닐 경우 ri의 오른쪽부터 붙은 "0"들을 모두 지웁니다, 그렇지 않을 경우 rb의 오른쪽에 붙은 "0"들을 모두 지웁니다,
rb 정리를 이것으로 종료합니다.
error code 03 번 : 오버플로
error code 04 번 : 언더플로
error code 05 번 : 0으로 나눌 수 없습니다.
아래 출력 변수 설명
sa : searching a; sb : searching b; sf : searching f;
rl : result string length to output; p : a point of string(s);
ru는 계산결과에서 소수점 위 자리이므로, dot(.)이 나오지 않습니다.
변수를 입력하세요...(a, b, f를 입력하세요...)