| r202 vs r203 | ||
|---|---|---|
| ... | ... | |
| 1309 | 1309 | 여기까지가 곱셈에서 a*b 의 연산 과정이며 rb 정리 부분으로 넘어갑니다. |
| 1310 | 1310 | }}} |
| 1311 | 1311 | |
| 1312 | a와 b 모두 0이 아닌 경우에서 나눗셈을 연산하는 과정입니다. | |
| 1313 | {{{#!if (f=="/")&&((+au!=0)||(+ab!=0))&&((+bu!=0)||(+bb!=0)) | |
| 1314 | ||
| 1315 | au, ab, bu, bb를 18자로 만들었으므로 36자리 정수의 나눗셈으로 봅니다. | |
| 1316 | a/b=(au+ab)/(bu+bb)=(+(au.substr(0,18)+ab.substr(0,18)))/(+(bu.substr(0,18)+bb.substr(0,18)))와 같습니다. | |
| 1317 | rp=36이 되면 마지막 자리 연산만 하고 중단할 수 있도록 진행합니다. | |
| 1318 | {{{#!if bu==0 | |
| 1319 | ||
| 1320 | }}} | |
| 1321 | ||
| 1312 | 1322 | ##ru 정리 부분 |
| 1313 | 1323 | 먼저 ru를 문자열로 변환합니다. 18자리씩 끊어 표기하므로 소수점 위 19~36번째 자리에 해당하는 rs값이 (곱한 값을 더했는데도) 0일 경우 rs를 빈 문자열로 바꿉니다. 곱셈과정에서 ru의 윗자리인 rs값이 0보다 클 경우, 1~18번째 자리인 ru에 빈 자리를 채우도록 ru의 왼쪽을 0으로 채웁니다. |
| 1314 | 1324 | {{{#!if ru=ru.toString() |
| ... | ... |