| r150 vs r151 | ||
|---|---|---|
| ... | ... | |
| 535 | 535 | 곱셈은 18자리를 끊어서 계산합니다. 소수점 아래 18자리의 아래인 제19~36번 자리를 ri로 둡니다. 소수점 위 19~36번째 자리는 rs로 둡니다. |
| 536 | 536 | ri에서 자릿수가 넘치면 넘친 만큼을 rb로 넘기고, rb에서 자릿수가 넘치면 넘친 만큼을 ru로 넘깁니다. ru에서 자릿수가 넘치면 rs로 넘깁니다. |
| 537 | 537 | |
| 538 | ○○○○○○○○○○○○○○○○○○□□□□□□□□□□□□□□□□□□.■■■■■■■■■■■■■■■■■■●●●●●●●●●●●●●●●●●● | |
| 539 | 538 | 이를테면 소수점 아래 19~36번 자리에서 18자리가 된 ab 문자열 전체를 숫자로 바꾸고 bb의 문자열의 마지막 (18번째) 자리의 값을 곱한 값을 더합니다. |
| 540 | 539 | {{{#!if tw=ab.substr(0,18), tw=(+tw)*(+bb.substr(17,1)), tw=tw.toString() |
| 541 | 540 | }}} |
| ... | ... | |
| 574 | 573 | {{{#if ru=(+ru)+(+rb.substr(0,1)), rb=(+rb.substr(1,18)) |
| 575 | 574 | }}}}}} |
| 576 | 575 | |
| 577 | ○○○○○○○○○○○○○○○○○○□□□□□□□□□□□□□□□□□■.■■■■■■■■■■■■■■■■■■●●●●●●●●●●●●●●●●●○ | |
| 578 | 576 | b의 소수점 아래 17번째와 곱합니다. 소수점 위 1번째, 소수점 아래 1~18번째, 소수점 아래 19~35번째에서 처리합니다. 문자열이 1칸 밀립니다. 19~35번째 자리는 17자리이므로 17자리 숫자가 곱셈으로 18자리로 넘치게 되면 앞의 자리를 rb로 넘깁니다. |
| 579 | 577 | {{{#!if tv=tv*10 |
| 580 | 578 | }}}{{{#!if tw=ab.substr(1,17), tw=(+tw)*(+bb.substr(16,1)), tw=tw.toString() |
| ... | ... | |
| 596 | 594 | }}} |
| 597 | 595 | b의 소수점 아래 3번째 자리의 값과 곱하는 과정까지는 au 값이 19자리로 넘칠 일이 없습니다. |
| 598 | 596 | |
| 599 | ||
| 600 | b의 소수점 아래 1 | |
| 597 | b의 소수점 아래 16번째와 곱합니다. 소수점 위 1~2번째, 소수점 아래 1~18번째, 소수점 아래 19~34번째에서 처리합니다. 문자열이 1칸 또 밀립니다. | |
| 601 | 598 | {{{#!if tv=tv*10 |
| 602 | 599 | }}}{{{#!if tw=ab.substr(2,16), tw=(+tw)*(+bb.substr(15,1)), tw=tw.toString() |
| 603 | 600 | }}}{{{#!if tw.length==17 |
| ... | ... |