我有一个关于选择从单词中提取字节的方法的查询。我的话目前尚未签名。它只是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
答案 0 :(得分:0)
对UINT8的强制转换丢弃除最低字节以外的所有字节。所以在第一种情况下,你将高位字节转换为0,然后丢弃它们;在第二个你只是丢弃它们。假设您要分配给UINT8,第二个选项显然更有效。