블로그 이미지
fiadot_old

칼퇴근을 위한 게임 서버 개발 방법론에 대한 심도있는 고찰 및 성찰을 위한 블로그!

Rss feed Tistory
Technical Article/펌 2002. 9. 3. 20:21

Integer Pack & UnPack...

기능??
32비트 컴파일러에서는 int형이 4바이트를 차지한다.
실제로 정수를 사용할때 이만큼 많은 수가 필요한 경우는 많지않으므로..
압축해서 사용해보자~~

이 소스에서는 16비트 컴파일러를 기준으로 int가 2바이트일때...
low, high가 256이하일때만 비트연산을 통해서 둘을 압축해서 리턴한다!

int        IntergerPack(int *nPack, int nHighByte, int nLowByte)
{
        int nTmpHigh, nTmpLow;
        
        *nPack = 0;

        if ( nHighByte > 255 || nLowByte > 255 )
                return FALSE;

        nTmpHigh = 0xFF00 & (nHighByte << 8);
        nTmpLow = 0x00FF & nLowByte;
        
        *nPack = nTmpHigh | nTmpLow;
        

        return TRUE;
}

int        IntergerUnpack(int nPack, int *nHighByte, int *nLowByte)
{
        *nHighByte = (nPack & 0xFF00 ) >> 8;
        *nLowByte = (nPack & 0x00FF);

        return TRUE;
}
,
TOTAL TODAY