저는 8 개의 uint32 요소가 있습니다. 각 uint32를 4 개의 uint8로 분해하고 배열의 unsigned char로 서로 다른 uint8을 추가하고 싶습니다. 어떻게 할 수 있습니까?uint32 to unsigned char array
-1
A
답변
1
0
UINT32 value;
UINT8 byteval[4];
for(int i = 0 < 4; i++)
byteval[i] = value >> (i*8);
0
사용 구조 & 연합 (EU)에 대한 조합의 힘을 사용할 수있다.
typedef struct
{
uint32 ArrayOf32Bit[8];
}Arrayof32bitVar_t;
typedef union
{
Arrayof32bitVar_t Var8int32;
uint8 Array8char[8*4]; // instead use macro
}tydefUnion_t;
func_add
{
int i
tydefUnion_t a; //
/*Here update variable a.Var8int32.ArrayOf32Bit*/
int addResult = 0;
for(i;i<(8*4);i++)
{
addResult += a.Array8char[i];
}
}
+0
두 번째 typedef가 불완전합니다. – urzeit
[A UINT8 어레이 \의 [4 \]에 UINT32 값 변환]의 중복 가능성 (http://stackoverflow.com/questions/6499183/converting-a-uint32-value-into-a-uint8 -array4) – devnull
"서로 다른 uint8을 모두 추가 하시겠습니까?" – kamae