for(;n;n>>=1) 表示:n 从 n 开始,不断去掉(二进制)最后一位(也等于不断除以 2)(且n!=0),如:n =10,二进制为 n = 1010.
所以
输出的结果为:
10 5 2 1
备注:10=>1010 5=>0101 2=>0010 1=>0001
所以,for(;n;n>>=1)=>while(n!=0) n=n/2;
Copyright © 2019- 91gzw.com 版权所有 湘ICP备2023023988号-2
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务