Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

- Call Mul from a procedure Create a procedure, and in that procedure multiply t

ID: 3734422 • Letter: #

Question

- Call Mul from a procedure Create a procedure, and in that procedure multiply two numbers together using mul. Then call the procedure from the main procedure.

- Do bitwise mulitiplication using only shift and add statements In your multiplication procedure multiply two numbers not using mul but by combining a fixed number of shift and add commands. For this part you only need to be able to handle 8 bit numbers so you don't need to use a loop for this part

- Add loop to bitwise multiplication procedure Instead of using a fixed number of bitwise multipliers, use a loop to run the bitwise multiplication

Explanation / Answer

public int mul(int a, int b) { if (a ==0 || b == 0) { return 0; } if (a == 1) { return b; } else if (b == 1) { return a; } int result = 0; int x = a; boolean isORNeeded = false; while (b != 0 ) { if (b == 1) { break; } if ((b & 1) == 1) //......... Carry needed, odd number......... { result += x; isORNeeded = true; } a = 1; // this will make Half of the b System.out.println("a=["+a+"], b=["+b+"], result=["+result+"]"); } return (isORNeeded ? (a | x) : a); // a + result; }