WORD a=300;
char aa[2];
aa[0] = (a & 0xff00) >> 8;
aa[1] = (a & 0x00ff) ;
WORD b;
b = (aa[0] <<8) | aa[1];
준오아빠 님이 쓰신 글 :
: TCP/IP 데이터통신시 전문길이 표현을 짧게하기 위해 Hexa형태로 길이를 저장합니다.
: 가령 10진수로 숫자 300을 저장하기위해 먼저 16진수로 변환하면 12C 가 될것입니다
: char 배열은 2자리이며 길이는 65535를 넘지않는다는 전제가 있습니다.
:
: (질문1)
: 그럼 이걸 char 배열에 넣을때
: a[0] = 0x01
: a[1] = 0x2C
: 로 넣는다는 것입니다.
:
: (질문2)
: 반대로 a[0] = 0x01, a[1] = 0x2C로 된 값을 10진수로 300이라고 변환해야합니다.
:
: 위 질문1,2에 대해
: C언어로된 로직이 필요해서 문의드렸습니다.
:
: 이부분에 대해 답변가능하신분은 정보를 주시면 고맙겠습니다.
|