请问个移位<<有关问题

请教个移位<<问题
比如,

DWORD a = 8;
DWORD b =1<<a;

这样b =256 
二进制是100000000(后面a个0)

请问个移位<<有关问题
反过来推算:已知b=256,怎么求a啊?

------解决方案--------------------
1)查表
2)循环判断