首先介绍十进制开平方运算:
1.将数据从低位开始每两位归为一组,最高位可以不足两位,数据每两位对应着开方值的一位;
2.对最高位进行开方运算,得到开方值的最高位a,得到的余数与次两位拼接组成被除数,此时的除数为a*20+b,b为开方值的第二位,进行除法运算,得到b以及余数;
3.将得到的余数继续向下拼接成被除数,除数则变为a*200+b*20+c,求得d及余数;
4.继续以上运算,直到最后两位。
(除数通用公式为已得到的开放值*20+下一位开方值)
二进制开平方运算相对简单,只有0和1,如下:
1.将数据从低位开始每两位归为一组,数据每两位对应着开方值的一位;
2.最高位的开方值固定为1,将余数与次两位拼接,若余数大于{1,0,1},则第二位开方值b为1,否则为0,相减后得到余数;
3.此时与之比较的数为{1,b,0,1},依次向下运算,得到最终结果及余数。