我很难理解我的问题:
uint8_t nal_type=6;
for(i=7;i!=0;i--){
printf("%d",(nal_type>>i)&0x01U);}
printf("\n");
我希望以下代码显示从MSB到LSB的二进制值。但它显示以下内容:
0000011
有人可以启发我吗?
答案 0 :(得分:2)
这只是循环中的一个简单错误,所以你没有看到LS位(位0) - 使它成为:
for (i = 7; i >= 0; i--)
{ ^^^^^^
printf("%d", (nal_type >> i) & 0x01U);
}
然后输出为:
00000110
我认为你正在寻找(MSB到LSB)。