r256 vs r257
......
50575057
}}}}}}
50585058
50595059
##rs 매기기
5060
앞에 매겼던 ac와 bc로 판별식을 만듭니다. i=ac-bc로 둡니다. a의 가장 큰 자리와 b의 가장 큰 자리가 얼마나 차이나는가에 따라 몫에 매기는 소수점 위치가 달라집니다. i>=-35 (ac==-18이고 bc==17일 경우), i<=35 (ac==17이고 bc=-18일 경우)입니다.
50605061
5062
i가 18 이상 (18 이상 35 이하)이면 rs를 매길 수 있습니다. 몫을 적어놓은 문자열 tm의 0번 index에 들어가는 문자부터 i에서 18을 뺀 값의 index에 들어가는 문자까지를 rs로 두며, rs의 문자열 길이는 i-18+1 곧 i-17입니다.
5063
{{{#!if i=ac-bc, i>=18
5064
tm에서 rs를 오려낸 문자열을 tm으로 다시 둡니다.
5065
{{{#!if rs=tm.substr(0,i-17), tm=tm.substr(i-17)
5066
}}}
5067
rs에 순 0만을 매겼을 가능성이 있으므로 rs를 정수로 바꿉니다.
5068
{{{#!if rs=+rs
5069
}}}}}}
50615070
##ru 매기기
5071
i>=18 이 되(어 rs를 매기)는 경우 i에 18을 뺍니다.
5072
{{{#!if i>=18
5073
{{{#!if i-=18
5074
}}}}}}
5075
i가 0 이상 (0 이상 17 이하)이면 ru를 매길 수 있으며 문자열의 길이는 i+1이 됩니다.
5076
{{{#!if i>=0
5077
{{{#!if ru=tm.substr(0,i+1), tm=tm.substr(i+1), ru=+ru
5078
}}}}}}
50625079
50635080
##rb 매기기
5081
i>=0일 경우 i에 18을 뺍니다. i가 -18 이상 (-18 이상 -1 이하)이면 rb를 매길 수 있으며 문자열의 길이는 i+18+1 곧 i+19가 됩니다.
5082
{{{#!if i>=0
5083
{{{#!if i-=18
5084
}}}}}}{{{#!if i>=-18
5085
{{{#!if rb=tm.substr(0,i+19), tm=tm.substr(i+19), rb=+rb
5086
}}}}}}
50645087
50655088
##ri 매기기
5089
{{{#!if i>=-18
5090
{{{#!if i-=18
5091
}}}}}}{{{#!if i>=-36
5092
{{{#!if ri=tm.substr(0,i+37), tm=tm.substr(i+37), ri=+ri
5093
}}}}}}
50665094
5095
5096
50675097
여기까지가 나눗셈의 계산과정입니다.
50685098
}}}
50695099
......