글
2 바이트를 읽어서
7 비트 / 4비트 / 5비트로 쪼개서 데이터를 parsing하는 예제
//2 바이트를 하나의 값으로 계산을 한다
int value = (qint8(rcvPacket[1] & 0x0F) * 16) + qint8(rcvPacket[2] & 0x0F) + ((rcvPacket[4] & 0x0F)*16 + (rcvPacket[5] & 0x0F)) * 256;
//하위 비트를 제거하기 위해서 9만큼 쉬프트를 한다 그 다음에 7비트가 모두 1인 값(0x7F)와 AND 연산을 한다
int year = (value >> 9) & 0x7F;
//하위 비트를 제거하기 위해서 5만큼 쉬프트를 한다 그 다음에 4비트가 모두 1인 값(0x0F)와 AND 연산을 한다
int month = (value >> 5) & 0x0F;
//하위 5비트와 AND연산을 한다.
int date = value & 0x1F;
RECENT COMMENT