ÃÑ ÆäÀÌÁö ¼ö : 3224
![]()
|
Facebook Joinc ±×·ì
Joinc QA »çÀÌÆ®
![]()
Tweet
joinc´Â Firefox¿Í chrome¿¡¼ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù. ¼³¸í
½Ã½ºÅÛÀÇ Little endianÀÎÁö Big endianÀÎÁö °Ë»çÇÑ´Ù. endian¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº endian¿¡ ´ëÇØ¼¸¦ Âü°íÇϱ⠹ٶõ´Ù. »ç¿ë¹æ¹ý#define BIG_ENDIAN 0 #define LITTLE_ENDIAN 1 int endian(void);½Ã½ºÅÛÀÇ endianÀ» °Ë»çÇØ¼ LittleÀ̸é 1À» BigÀ̸é 0À» ¸®ÅÏÇÑ´Ù. #include <stdio.h> #include <endian.h> int main() { if ( endian() == LITTLE_ENDIAN) printf("Little endian\n"); else printf("Big endian\n"); } ÄÚµåint endian(void) { int i = 0x00000001; if ( ((char *)&i)[0] ) return LITTLE_ENDIAN; else return BIG_ENDIAN; } ¶Ç ´Ù¸¥ ÄÚµå
¾Æ·¡ °°ÀÌ »ý±ä ÄÚµå´Â ¹«½¼ ¹®Á¦°¡ ÀÖÀ»±î? int endian(void) { int i = 0x00000001; return ((char *)&i); }
ntohl(3)ÀÇ ±¸Çö uint32 get_data(void *mem, byte size) { uint32 data = 0; byte i; if(size <= 4) { for(i = 0; i < size; i++) { data = ((uint32)data << 8) | ((byte *)mem)[i]; } } return(data); }
htonlÀÇ ±¸Çö 1. if°¡ µé¾î°¬Áö¸¸ °¡µ¶¼ºÀÌ ÁÁÀº ÄÚµå uint32 htonl(uint x) { int i=0x00000001; char ar[4]; if ( ((char *)&i)[0] ) { byte a[4]; byte b[4]; *((uint32 *)a) = x; b[0] = a[3]; b[1] = a[2]; b[2] = a[1]; b[3] = a[0]; return *((uint32 *)b); } else { return x; } } |
|
|
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù. |
|