Number of surfaces in disk = $2^5$
Number of tracks per surface = $2^7$
Number of sectors per track = $2^8$
Data stored in a sector = $2^9\text{B}$
$\text{Capacity of disk} = 2^5 \times 2^7 \times 2^8 \times 2^9 = 2^{29}B = 512\text{MB}$
$\text{Number of sectors in disk}$ = $2^5 \times 2^7 \times 2^8 = 2^{20}$
Hence, $\text{20 bits}$ required for addressing sectors.