1 public String multiply(String Q,String M){
2 char Q0 = '0';
3 String A = get01(Q.length(),"0");
4 for (int i=0;i<Q.length();i++){
5 String QQ0 =Q.charAt(Q.length()-1)+""+Q0; 7 if (QQ0.equals("10")){
8 A=substract(A,M).substring(1);
9 }
10 else if (QQ0.equals("01")){
11 A=add(A,M).substring(1);
12 }
13 String temp = shiftRight(A+Q+Q0);
14 A=temp.substring(0,A.length());
15 Q = temp.substring(A.length(),2*A.length());
16 Q0 = temp.charAt(temp.length()-1);
17 }
18 return A+Q;
19 }