ArchTiger MYPI

ArchTiger
접속 : 3075   Lv. 51

Category

Profile

Counter

  • 오늘 : 1 명
  • 전체 : 10867 명
  • Mypi Ver. 0.3.1 β
[프로그래밍] Byte order (0) 2011/10/12 PM 03:30
Network byteorder use big endian so application must handle the byte order in little endian system
here is sample



int getUint32(unsigned char * data, int index)
{
return ((data[index] & 0xff) << 24) | ((data[index + 1] & 0xff) << 16) | ((data[index + 2] & 0xff) << 8) | (data[index + 3] & 0xff);
}

void setUint32(unsigned char * data, int index, int i)
{
data[index] = (byte)(0xff & (i >> 24));
data[index + 1] = (byte)(0xff & (i >> 16));
data[index + 2] = (byte)(0xff & (i >> 8));
data[index + 3] = (byte)(0xff & i);
}

int getUint16(unsigned char * data, int index)
{
return (int)(((data[index] & 0xff) << 8) | (data[index + 1] & 0xff));
}

void setUint16(unsigned char * data, int index, int i)
{
data[index] = (byte)(i >> 8);
data[index + 1] = (byte)i;
}

신고

 
X