字节提取,这是两者中比较好的方法



我有一个关于从单词中提取字节的方法选择的查询。我的单词当前未签名。它只是32位的简单集合。(1和0)。我实现的以下两个脚本都返回相同的结果。我想知道选择哪一个更好。

Bytes0=(UINT8)((Word>>00 & 0x0000FF);
Bytes1=(UINT8)(Word>>08  & 0x0000FF);
Bytes2=(UINT8)(Word>>16  & 0x0000FF);
Bytes3=(UINT8)(Word>>24  & 0x0000FF);
or
Bytes0=(UINT8)((Word>>00);
Bytes1=(UINT8)(Word>>08 );
Bytes2=(UINT8)(Word>>16 );
Bytes3=(UINT8)(Word>>24 );

我是不是错过了什么?

谢谢DSP Guy

UINT8的强制转换将丢弃除最低字节外的所有字节。因此,在第一种情况下,将高位字节转换为0,然后丢弃它们;在第二秒,你只需丢弃它们。第二个选项显然更有效,假设您分配给UINT8。

最新更新