while(DATA.Data2 != 0xffff) (DATA.Data1 < 0xffff) ? DATA.Data1++ : DATA.Data2++;
while(DATA.Data1 != 0x0000) (DATA.Data2 > 0x0000) ? DATA.Data2-- : DATA.Data1--;
김민조 님이 쓰신 글 :
: 일단 답변 감사드립니다.
: 아래 소스는 제가 컴파일 한 소스를 긁어서 복사한게 아니라 글을 올리면서 쓴 글이라서 수식이 틀렸습니다.
: 또 저는 비쥬얼상에서 프로그래밍을 하는게 아니라서 int형이 4바이트입니다.
: 그러면 해결 하는 방법은 어떻게 될까요?
: locke 님이 쓰신 글 :
: : int형은 요즘 사용하는 pc 시스템에서는 long형과 같이 32비트 자료형입니다.
: :
: : 그러므로 해당 구조체는 총 4바이트가 아니라 8바이트가 맞습니다.
: :
: : -locke
: :
: : 김민조 님이 쓰신 글 :
: : : 구조체를 이용해서 데이터를 저장하고 있는데요.
: : : struct st_Data
: : : {
: : : unsigned int Data1;
: : : unsigned int Data2;
: : : }DATA;
: : :
: : : 와 같이 구조체를 선언했습니다.
: : : 여기서 각 2byte로 선언되어 있어서 총 4byte의 데이터를 이용하고 싶은데요.
: : : 원하는 동작은 Data1이 0xffff이상이면
: : : Data2에 다시 0부터 카운트되서 0xffff까지 채워지게 하는 것입니다.
: : : 반대로 Data1이 0xffff일 때 Data2가 역으로 카운트되서 0x0000까지 되었을 때
: : : Data1의 카운트도 다시 역으로 0x0000까지 만들고 싶습니다.
: : : 제가 만든 소스는
: : :
: : : Count++;
: : : if(DATA.Data1 => 0xffff)
: : : {
: : : DATA.data1 = 0xffff;
: : : DATA.data2 = Count;
: : : }
: : : else
: : : {
: : : DATA.data1 = count;
: : : DATA.data2 = 0x0000;
: : : }
: : : 와 같이 선언했는데 원하는 동작이 안나와서요.
: : : 어떤 식으로 하면 해결 할 수 있을까요?