***很多代码都-1的原因?

****不理解

为啥-1

for(clogb2=0; bit_depth>0; clogb2=clogb2+1)                   
	        bit_depth = bit_depth >> 1; 
这个是先执行clogb2=clogb2+1一次它再执行 bit_depth = bit_depth >> 1;
还是先执行完bit_depth = bit_depth >> 1;再执行clogb2=clogb2+1

循环次数执行前 clogb2检查条件 bit_depth>0执行循环体 bit_depth >> 1执行后 bit_depth执行迭代 clogb2+1执行后 clogb2
10 (初始)7>0 → 真7 >> 1 = 330+1=11
213>0 → 真3 >> 1 = 111+1=22
321>0 → 真1 >> 1 = 002+1=33
430>0 → (不执行)0(不执行)3 (最终结果)
Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐