| r143 vs r144 | ||
|---|---|---|
| ... | ... | |
| 676 | 676 | {{{#!if bb=bb+"0" |
| 677 | 677 | }}}}}} |
| 678 | 678 | |
| 679 | 변수 tw를 가져옵니다. (tv는 1로 초기화 된 채로 있습니다. 자릿수를 | |
| 680 | 소수점 아래 18자리의 아래인 제19~36번 자리를 ri로 둡니다. | |
| 679 | 변수 tw를 가져옵니다. (tv는 1로 초기화 된 채로 있습니다. 연산 과정 중간중간에 마지막 자릿수를 보정하고자 10씩 곱하게 됩니다.) | |
| 680 | 곱셈은 18자리를 끊어서 계산합니다. 소수점 아래 18자리의 아래인 제19~36번 자리를 ri로 둡니다. 소수점 위 19~36번째 자리는 rs로 둡니다. | |
| 681 | 681 | ri에서 자릿수가 넘치면 넘친 만큼을 rb로 넘기고, rb에서 자릿수가 넘치면 넘친 만큼을 ru로 넘깁니다. ru에서 자릿수가 넘치면 rs로 넘깁니다. |
| 682 | 682 | |
| 683 | 683 | ○○○○○○○○○○○○○○○○○○□□□□□□□□□□□□□□□□□□.■■■■■■■■■■■■■■■■■■●●●●●●●●●●●●●●●●●● |
| ... | ... | |
| 719 | 719 | {{{#if ru=(+ru)+(+rb.substr(0,1)), rb=(+rb.substr(1,18)) |
| 720 | 720 | }}}}}} |
| 721 | 721 | |
| 722 | ○○○○○○○○○○○○○○○○○○□□□□□□□□□□□□□□□□□■.■■■■■■■■■■■■■■■■■■●●●●●●●●●●●●●●●●●○ | |
| 723 | b의 소수점 아래 17번째와 곱합니다. 소수점 위 1번째, 소수점 아래 1~18번째, 소수점 아래 19~35번째에서 처리합니다. 문자열이 1칸 밀립니다. | |
| 724 | {{{#!if tv=tv*10 | |
| 725 | }}}{{{#!if tw=ab.substr(1,17), tw=(+tw)*(+bb.substr(16,1)), tw=tw.toString() | |
| 726 | }}}{{{#!if tw.length==19 | |
| 727 | {{{#if rb=(+rb)+(+tw.substr(0,1)), ri=(+ri)+((+tw.substr(1,18))*tv) | |
| 728 | }}}}}}{{{#!if tw.length<=18 | |
| 729 | {{{#!if ri=(+ri)+((+tw)*tv) | |
| 730 | }}}}}}{{{#!if ri=ri.toString(), ri.length==19 | |
| 731 | {{{#if rb=(+rb)+(+ri.substr(0,1)), ri=(+ri.substr(1,18)) | |
| 732 | }}}}}}{{{#!if tw=au.substr(1,17)+ab.substr(0,1), tw=(+tw)*(+bb.substr(16,1)), tw=tw.toString() | |
| 733 | }}}{{{#!if tw.length==19 | |
| 734 | {{{#if ru=(+ru)+(+tw.substr(0,1)), rb=(+rb)+(+tw.substr(1,18)) | |
| 735 | }}}}}}{{{#!if tw.length<=18 | |
| 736 | {{{#!if rb=(+rb) | |
| 737 | }}}}}}{{{#!if rb=rb.toString(), rb.length==19 | |
| 738 | {{{#if ru=(+ru)+(+rb.substr(0,1)), rb=(+rb.substr(1,18)) | |
| 739 | }}}}}}{{{#!if tw=au.substr(0,1), tw=(+tw)*(+bb.substr(16,1)) | |
| 740 | }}}{{{#!if ru=(+ru)+(+tw) | |
| 741 | }}} | |
| 742 | b의 소수점 아래 3번째 자리의 값과 곱하는 과정까지는 au 값이 19자리로 넘칠 일이 없습니다. | |
| 722 | 743 | |
| 723 | 744 | |
| 745 | ||
| 724 | 746 | 여기까지가 a*b 계산과정입니다. |
| 725 | 747 | }}} |
| 726 | 748 | |
| ... | ... |