Example Instruction Set Architechture
Here are the questions you should be asking to solve this:

For part a)


How many instructions does the computer support?  64. 
How many bits does it take to represent this set of instructions?  _  
How many operands are accepted? 3. 
What do the operands point to?  Registers. 
How many registers does the system support? 16. 
How many bits do you need to address a register?  _ 


So once you know these values, simply add up the number of bits required for the instruction ID and the three operands.

For part b)

One operand points to a memory location.  How many bits are required to address a 32MB memory space?

For the second operand, I think there's some ambiguity.  Is the second operand a constant or is it a register address?  I'm betting it's a register address.  So how many bits are required to address a register? (see part a)

Good luck!