a) There are 2^10/2^4 = 2^6 = 64 pages in virtual memory.
b) There are 2^8/2^4 = 2^4 = 16 page frames in main memory.
c) Since the page size is 2^4 bytes, each page contains 2^4 bytes. Therefore, there are 2^10/2^4 = 2^6 = 64 pages in virtual memory. Each page has a corresponding page table entry, so there are 64 entries in the page table for a process that uses all of virtual memory.