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

时间:2012-02-29 03:27:42

标签: word byte

我有一个关于选择从单词中提取字节的方法的查询。我的话目前尚未签名。它只是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

1 个答案:

答案 0 :(得分:0)

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