Post
서버에서 패킷을 받아서 데이터 파서 중 이해가 안가는 부분이 생겼다.문자열 배열이 있을 때 2Byte씩 파싱하는 중이었다.그런데 2byte 파싱한 데이터가 결과가 내 예상과는 달랐다.확인한 데이터는 배열 0번째는 154, 배열 1번째는 8이었다.예시소스코드unsigned char tempString[2];tempString[0] = 154;tempString[1] = 8;unsigned short data;memcpy(&data, tempString, 2);154는 2진수로 100110108은 2진수로 1000결과는 10011010 1000 = 100110101000 = 2472인 줄 알았다그런데 값이 안맞아서 확인해보니tempString[0]이 0번째이므로 0~255값을 나타냈기 때문에 뒤로 가야한다.그래서 10011010 1000 자리를 바꿔줘서 합쳐줬더니 알맞은 값이 나온다.1000 10011010 = 100010011010 = 2202
'이전게시판 > C, C++' 카테고리의 다른 글
C++ csv 파일 읽기 (0) | 2024.09.25 |
---|---|
c++ 전처리기 region 이란 (0) | 2018.09.30 |
pragma message 출력창에 내용 출력 (0) | 2018.08.29 |
Cygwin 설치 설정 방법 (0) | 2018.07.27 |
flyweight(플라이웨이트) 패턴 (0) | 2018.06.16 |
VisualStudio 줄번호 바로가기 단축키 (0) | 2018.06.05 |
const와 포인터 (0) | 2018.05.30 |
C3083 왼쪽의 기호는 형식이어야 합니다 에러 정방선언... (0) | 2018.05.03 |