In decimal (base 10), how do we know a number is divisible by 10? We check if it ends with a 0.
30, 50, 6670 etc.
How do we know a number is divisible by 100? (square of base) We check if it ends with two 0's.
300, 757600, 1500 etc.
So, in binary (base 2) how do we check if a number is divisible by 2? It must end with a 0.
To be divisible by 4 (square of base) it must end with two 0's. And so on.
Hence, the language $2^0,2^1,2^2,2^3,2^4,2^5...$
which is equivalent to $1,2,4,8,16,32...$ in decimal
which is equivalent to $1,10,100,1000,10000...$ in binary
is actually just the regular expression $10^*$
So, Option B is correct.
If written in unary, then that is counting. FAs don't have memory. They can't count.