| r144 vs r145 | ||
|---|---|---|
| ... | ... | |
| 720 | 720 | }}}}}} |
| 721 | 721 | |
| 722 | 722 | ○○○○○○○○○○○○○○○○○○□□□□□□□□□□□□□□□□□■.■■■■■■■■■■■■■■■■■■●●●●●●●●●●●●●●●●●○ |
| 723 | b의 소수점 아래 17번째와 곱합니다. 소수점 위 1번째, 소수점 아래 1~18번째, 소수점 아래 19~35번째에서 처리합니다. 문자열이 1칸 밀립니다. | |
| 723 | b의 소수점 아래 17번째와 곱합니다. 소수점 위 1번째, 소수점 아래 1~18번째, 소수점 아래 19~35번째에서 처리합니다. 문자열이 1칸 밀립니다. 19~35번째 자리는 17자리이므로 17자리 숫자가 곱셈으로 18자리로 넘치게 되면 앞의 자리를 rb로 넘깁니다. | |
| 724 | 724 | {{{#!if tv=tv*10 |
| 725 | 725 | }}}{{{#!if tw=ab.substr(1,17), tw=(+tw)*(+bb.substr(16,1)), tw=tw.toString() |
| 726 | }}}{{{#!if tw.length==1 | |
| 726 | }}}{{{#!if tw.length==18 | |
| 727 | 727 | {{{#if rb=(+rb)+(+tw.substr(0,1)), ri=(+ri)+((+tw.substr(1,18))*tv) |
| 728 | }}}}}}{{{#!if tw.length<=1 | |
| 728 | }}}}}}{{{#!if tw.length<=17 | |
| 729 | 729 | {{{#!if ri=(+ri)+((+tw)*tv) |
| 730 | 730 | }}}}}}{{{#!if ri=ri.toString(), ri.length==19 |
| 731 | 731 | {{{#if rb=(+rb)+(+ri.substr(0,1)), ri=(+ri.substr(1,18)) |
| ... | ... | |
| 741 | 741 | }}} |
| 742 | 742 | b의 소수점 아래 3번째 자리의 값과 곱하는 과정까지는 au 값이 19자리로 넘칠 일이 없습니다. |
| 743 | 743 | |
| 744 | ○○○○○○○○○○○○○○○○○○□□□□□□□□□□□□□□□□■■.■■■■■■■■■■■■■■■■■■●●●●●●●●●●●●●●●●○○ | |
| 745 | b의 소수점 아래 17번째와 곱합니다. 소수점 위 1~2번째, 소수점 아래 1~18번째, 소수점 아래 19~34번째에서 처리합니다. 문자열이 1칸 또 밀립니다. | |
| 746 | {{{#!if tv=tv*10 | |
| 747 | }}}{{{#!if tw=ab.substr(2,16), tw=(+tw)*(+bb.substr(15,1)), tw=tw.toString() | |
| 748 | }}}{{{#!if tw.length==17 | |
| 749 | {{{#if rb=(+rb)+(+tw.substr(0,1)), ri=(+ri)+((+tw.substr(1,18))*tv) | |
| 750 | }}}}}}{{{#!if tw.length<=16 | |
| 751 | {{{#!if ri=(+ri)+((+tw)*tv) | |
| 752 | }}}}}}{{{#!if ri=ri.toString(), ri.length==19 | |
| 753 | {{{#if rb=(+rb)+(+ri.substr(0,1)), ri=(+ri.substr(1,18)) | |
| 754 | }}}}}}{{{#!if tw=au.substr(2,16)+ab.substr(0,2), tw=(+tw)*(+bb.substr(15,1)), tw=tw.toString() | |
| 755 | }}}{{{#!if tw.length==19 | |
| 756 | {{{#if ru=(+ru)+(+tw.substr(0,1)), rb=(+rb)+(+tw.substr(1,18)) | |
| 757 | }}}}}}{{{#!if tw.length<=18 | |
| 758 | {{{#!if rb=(+rb) | |
| 759 | }}}}}}{{{#!if rb=rb.toString(), rb.length==19 | |
| 760 | {{{#if ru=(+ru)+(+rb.substr(0,2)), rb=(+rb.substr(1,18)) | |
| 761 | }}}}}}{{{#!if tw=au.substr(0,1), tw=(+tw)*(+bb.substr(15,1)) | |
| 762 | }}}{{{#!if ru=(+ru)+(+tw) | |
| 763 | }}} | |
| 744 | 764 | |
| 745 | 765 | |
| 746 | 766 | 여기까지가 a*b 계산과정입니다. |
| ... | ... |