问题描述 |
---|
罗少是二进制高手,他非常喜欢$$2$$的非负整数次幂,例如:$$1,2,4,8...$$ 这天,罗少恰好在研究$$32$$位无符号型整数$$\text{unsigned int}$$ 他发现对于任意一个$$32$$位无符号型整数$$n$$总是可以通过若干次加$$2$$操作变成$$2$$的非负整数次幂! 现在,给你一个非负整数$$n$$,请你编程计算一下$$n$$至少需要加几次$$2$$才能变成$$2$$的非负整数次幂。 |
输入描述 |
第一行是一个正整数$$T$$表示测试案例的数量。($$1 \leq T \leq 10^4$$) 每组案例包含一个$$\text{unsigned int}$$类型的数字$$n$$。($$0 \leq n \lt 2^{32}$$) |
输出描述 |
针对每组案例,在一行中输出$$n$$至少需要加几次$$2$$才能变成$$2$$的非负整数次幂。 |
样例输入复制样例 |
3 6 1 10 |
样例输出 |
1 0 3 |
提示说明 |
思考 C++ 中 unsigned int 的溢出现象 |
相关 |