|
처음에 했던 질문은
0x72 를 가지고 0x37(7), 0x32(E)로 나눈다고 하셨는데, 이건 이해를 못하겠지만
단순히 자릿수를 끊는걸 원하시는 거라면 정성훈님 답변대로 하면 될텐데요.
더하기 0x30를 빼고...
char SrcData = 0x72;
char Value[2];
Value[0] = (SrcData >> 4);
Value[1] = (SrcData & 0x0F);
혹시나 16 진수의 값을 원하시는 거라면
IntToHex((int)Value[1],1);
이렇게 해보세요.
님이 쓰신 글 :
: 정성훈님 감사합니다.
:
: 저도 표시해 준 것처럼 해봤었는데..
:
: 아래와같이하면 두번째 값이 A이상일 경우 재대로 되지 않습니다...ㅜㅜ
:
: 만약 값이 0x7E 일 경우 '7'은 얻어지나 'E'값은 얻어지지 않습니다...ㅠㅠ
:
: 정성훈.해미 님이 쓰신 글 :
: : 0x72 를
: : 4비트 쉬프트하면 7을 얻을수 있고
: : 0x0F로 AND연산하면 16진수 단자리만 얻을수 있습니다.
: : 거기에 0x30을 더하시면 되겠습니다.
: :
: : 예)
: : char SrcData = 0x72;
: :
: : char Value[2];
: :
: : Value[0] = (SrcData >> 4) + 0x30;
: : Value[1] = (SrcData & 0x0F) + 0x30;
: :
: :
: :
: : chocopico 님이 쓰신 글 :
: : : 안녕하세요??
: : :
: : : 표현이 맞는지는 모르겠지만 Hex 각 자리 값을 잘라서 표현하는 방법이 궁금합니다.
: : :
: : : 예를 들어
: : :
: : : 0x72 라는 핵사 값이 있을 때,
: : :
: : : 이것을 0x37('7'), 0x32('E') 로 어떻게 나누나요??
: : :
: : : 기본기가 부족해서 그런지 아무리 Shift 하고 잘라봐도 잘안되내요..
: : :
: : : 조언 부탁드립니다.ㅠㅠ
|