我很难理解我的问题:
uint8_t nal_type=6;
for(i=7;i!=0;i--){
printf("%d",(nal_type>>i)&0x01U);}
printf("\n");
我希望下面的代码显示从MSB到LSB的二进制值。但它显示了以下内容:
0000011
有人能启发我吗?
最佳答案
这只是循环中的一个简单错误,因此您没有看到LS位(位0)-请执行以下操作:
for (i = 7; i >= 0; i--)
{ ^^^^^^
printf("%d", (nal_type >> i) & 0x01U);
}
然后输出如下:
00000110
我想这就是你要找的(MSB到LSB)。