일반적으로 어떤 오프셋이 있는지 알고 있지만 다음 배열에 대한 오프셋과 관련하여 질문이 있습니다.배열 내에서 16 진수 오프셋을 계산하십시오.
const myArray uint8[]=
{
0xCB, 0xF8, 0xFA, 0xFB, 0xCA, 0xAC, 0x24, 0x53, 0x64, 0x4F, 0x1E, 0xA2,
0xF9, 0x78, 0xCA, 0x63, 0xB8, 0x7F, 0xFC, 0xFB, 0xD8, 0xFA, 0xFB, 0x8F,
0x67, 0xC1, 0xFD, 0xF8, 0xC2, 0xF8, 0xFF, 0xF9, 0xFA, 0xE4, 0xFA, 0xF9,
0xFB, 0xFE, 0xE4, 0xFA, 0xCA, 0xCF, 0x94, 0xD5, 0xD6, 0xCA, 0xA2, 0xA2,
....
....
....
....
}
지금 내가 설명이 말한다 :
--------------------------------------------------
| Offset in myArray | meaning | size (Byte) |
--------------------------------------------------
| 0x00 | Version | 1 |
-------------------------------------------------
| 0x01 | Timestamp | 15 |
------------------------------------------------
| 0x10 | Info1 | 8 |
------------------------------------------------
| 0x18 | Info2 | 2 |
------------------------------------------------
가 myArray의 평균에서이 작업을 수행 : 이제 나는 UINT8 배열이 있다고 가정 해 봅시다 그것은 인덱스 0의를 가진 요소입니다 : × 00 오프셋
에서 myArray가 들어 0xCB
있도록 0x01로 오프셋 : 그것은, 인덱스 1 .. 9와 요소의 0xF8, 0xFA, 0xFB, 0xCA, 0xAC, 0x24, 페이,에는 0x53, 0x64, 0x4F
,691,363 그래서210등
아니면 잘못 해석합니까?
맞습니다. – tkausl
'Timestamp' 필드에'1..9'가 어떻게 생겼는지 이해가 가지 않습니다. 크기가 15로 지정되어 있으므로 관련 요소가 9가 아닌 15가되어야합니다. 즉, '0xF8, 0xFA, 0xFB, 0xCA, 0xAC, 0x24, 0x53, 0x64, 0x4F, 0x1E, 0xA2, 0xF9, 0x78, 0xCA, 0x63'입니다. . – unwind
거의,하지만 당신은 * 크기 *를 잊어 버린다. 오프셋은 * 16 진수 *로 표시됩니다. 즉 "myArray [16]"(즉, myArray [0x10])에서 "Info1"필드 *가 시작된다는 의미입니다. –