0
我有一個很難理解我的問題:顯示MSB到LSB
uint8_t nal_type=6;
for(i=7;i!=0;i--){
printf("%d",(nal_type>>i)&0x01U);}
printf("\n");
我希望下面的代碼顯示從MSB到LSB的二進制值。但它顯示如下:
0000011
有人能給我啓發嗎?
我有一個很難理解我的問題:顯示MSB到LSB
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)。
謝謝你,有時候很難退後一步看到這樣的錯誤! – 2014-10-08 09:10:04