我有这个代码将无符号的32位整数分割成一个char数组,数组的每个元素都与整数的8位相关:
unsigned char result[4];
result[0] = (value >> 24) & 0xFF;
result[1] = (value >> 16) & 0xFF;
result[2] = (value >> 8) & 0xFF;
result[3] = value & 0xFF;
我需要做出哪些更改才能将32位无符号整数分成3个值:第1个值与前8位相关,第2个值与第2个8位相关,第3个值与最后16位相关?
感谢
答案 0 :(得分:3)
不要将它们称为第一位/最后一位。请参阅它们的重要性。
unsigned short result[3];
result[0] = (value >> 24) & 0xFF;
result[1] = (value >> 16) & 0xFF;
result[2] = value & 0xFFFF;