¿ì¸®°¡ »ç¿ëÇÏ´Â Á¤¼ö, ½Ç¼ö µûÀ§ÀÇ º¯¼öµéÀº ¸ðµÎ ¸Þ¸ð¸®¿¡ ÀúÀåµÈ´Ù. ¸Þ¸ð¸®ÀÇ ÀúÀå ´ÜÀ§´Â 8ºñÆ®·Î ±¸¼ºµÈ ¹ÙÀÌÆ®Àε¥ ºñÇØ ½ÇÁ¦ ÀúÀåÇØ¾ß ÇÒ °ªÀº 32ºñÆ®³ª 64ºñÆ®·Î ¹ÙÀÌÆ® ±æÀ̺¸´Ù ÈξÀ ´õ Å©´Ù. ±×·¡¼ ¿©·¯ °³ÀÇ ¿¬¼ÓÀûÀÎ ¹ÙÀÌÆ®¿¡ ÀÌ °ªµéÀ» ³ª´©¾î ÀúÀåÇØ¾ß Çϴµ¥ ¾î¶»°Ô ³ª´©´Â°¡¿¡ µû¶ó µÎ °¡Áö ¹æ½ÄÀÌ ÀÖ´Ù. ¿¹¸¦ µé¾î Á¤¼ö 0x12345678À̶ó´Â °ªÀ» ÀúÀåÇÑ´Ù°í ÇØ º¸ÀÚ. ÀÌ °ªÀº ÃÑ 32ºñÆ®À̸ç 0x12, 0x34, 0x56, 0x78ÀÇ 8ºñÆ®°ª 4°³·Î ±¸¼ºµÈ´Ù. ÀÏ·ÃÀÇ 4¹ÙÀÌÆ®¸¦ ¿©·¯ ¹ÙÀÌÆ®¿¡ ³ª´©¾î ÀúÀåÇÏ´Â ¹æ¹ýÀ¸·Î ´ÙÀ½ µÎ °¡Áö¸¦ »ý°¢ÇÒ ¼ö ÀÖ´Ù.

¡á ºò ¿£µð¾È(Big Endian:¼ø¿öµå) : ÀÌ ¹æ½ÄÀº ³ôÀº ÀÚ¸®¼ö¸¦ ¸ÕÀú ÀúÀåÇÑ´Ù. 0x12°¡ °¡Àå ¾ÕÂÊ ¹ÙÀÌÆ®¿¡, ±×¸®°í 0x34°¡ ±× ´ÙÀ½ ¹ÙÀÌÆ®¿¡ ÀúÀåµÇ´Â ½ÄÀÌ´Ù. ¸ðÅä·Ñ¶ó °è¿ÀÇ CPU¿Í ´ëºÎºÐÀÇ RISC CPU°¡ ÀÌ ¹æ½ÄÀ» »ç¿ëÇÑ´Ù. »ç¶÷µéÀº ¿À·§µ¿¾È ±ÛÀ» ÀÐÀ» ¶§ ¿ÞÂÊ¿¡¼ ¿À¸¥ÂÊÀ¸·Î ÀÐ¾î ¿ÔÀ¸¹Ç·Î Àд ¼ø¼¿¡ ¸Â°Ô 4¹ÙÀÌÆ®¸¦ ³ª´©¾î ÀúÀåÇÑ °ÍÀÌ´Ù. ¸Þ¸ð¸®¿¡ ³ªÅ¸³ ¼ø¼´ë·Î ÀÐÀ» ¼ö ÀÖ°í ÀÚ¿¬½º·¯¿ì¸ç ÀÌÇØÇϱ⠽±´Ù.
¡á ¸®Æ² ¿£µð¾È(Little Endian:¿ª¿öµå) : ÀÌ ¹æ½ÄÀº ³·Àº ÀÚ¸®¼ö¸¦ ¸ÕÀú ÀúÀåÇÑ´Ù. °¡Àå µÚÂÊ ¹ÙÀÌÆ®ÀÎ 0x78ÀÌ ¸Þ¸ð¸®ÀÇ °¡Àå ¾ÕÂÊ ¹ÙÀÌÆ®¿¡ ÀúÀåµÇ¸ç ±× ´ÙÀ½¿¡ 0x56ÀÌ, ±×¸®°í 0x12´Â °¡Àå µÚÂÊ¿¡ ÀúÀåµÈ´Ù. ÀÎÅÚ °è¿ÀÇ CPU¿Í DECÀÇ ¾ËÆÄ ĨÀÌ ÀÌ ¹æ½ÄÀ» »ç¿ëÇÑ´Ù. ¸Þ¸ð¸®ÀÇ °ªÀ» ÀÐÀ» ¶§ °Å²Ù·Î Àоî¾ß ÇϹǷΠ»ç¶÷ÀÌ Á÷Á¢ Àб⿡´Â ´Ù¼Ò ºÒÆíÇÑ ¸éÀÌ ÀÖÁö¸¸ ±â°è°¡ °ªÀ» ´Ù·ç±â´Â ´õ È¿À²ÀûÀÌ°í ¸î °¡Áö ¿¬»ê¿¡¼ Æí¸®ÇÑ Á¡ÀÌ ÀÖ´Ù.
µÎ ¹æ½ÄÀº ¾ÕÂÊ¿¡ ¾î¶² ¹ÙÀÌÆ®ºÎÅÍ ÀúÀåÇÏ´ÂÁö°¡ ´Ù¸¥µ¥ ºò ¿£µð¾ÈÀº Å« °ªºÎÅÍ ¸®Æ² ¿£µð¾ÈÀº ÀÛÀº °ªºÎÅÍ ÀúÀåÇÑ´Ù. ¾ð¶æ º¸±â¿¡´Â ºò ¿£µð¾ÈÀÌ ÈξÀ ´õ ÀÚ¿¬½º·¯¿ö º¸ÀÌ°í ¸®Æ² ¿£µð¾ÈÀº ´Ù¼Ò ÀÌ»óÇØ º¸ÀÌÁö¸¸ CPU°¡ °ªÀ» ó¸®ÇÏ´Â °úÁ¤À» ºÐ¼®ÇØ º¸¸é ¸®Æ² ¿£µð¾ÈÀÌ ¸î °¡Áö ¸é¿¡¼ ÀåÁ¡ÀÌ ÀÖÀ½À» ¹ß°ßÇÒ ¼ö ÀÖ´Ù.
0x1234¶ó´Â 32ºñÆ®ÀÇ Á¤¼ö°ªÀÌ ¸Þ¸ð¸®¿¡ ÀúÀåµÇ¾î ÀÖÀ» ¶§ ÀÌ °ªÀÇ ÇÏÀ§ 2¹ÙÀÌÆ®¸¸ Àд´ٰí ÇØ º¸ÀÚ. intÇüÀÇ °ªÀ» shortÇü º¯¼ö¿¡ ´ëÀÔÇѴٰųª Æ÷ÀÎÅ͸¦ ÅëÇØ °£Á¢ÀûÀ¸·Î °ªÀ» ÀÐÀ» ¶§ ÀÌ·± ÀÏÀÌ ÀϾ´Âµ¥ ´ÙÀ½ ±×¸²Àº Á¤¼öÇü Æ÷ÀÎÅÍ pi°¡ °¡¸®Å°´Â 32ºñÆ® °ªÀ» (short *)·Î ij½ºÆÃÇØ¼ Àд ¿¹ÀÌ´Ù.

¸®Æ² ¿£µð¾ÈÀº pi°¡ °¡¸®Å°´Â ¿ø·¡ ¹øÁö¿¡¼ 2¹ÙÀÌÆ®¸¸ ÀоîµéÀÌ¸é µÈ´Ù. ³·Àº ÀÚ¸®¼ö°¡ ´õ ¾ÕÂÊ¿¡ Àֱ⠶§¹®¿¡ ÀÌ À§Ä¡ÀÇ °ªÀ» ±×´ë·Î ÀÐÀ¸¸é ¹Ù·Î 16ºñÆ®°ªÀÌ µÇ´Â °ÍÀÌ´Ù. ÀÌ¿¡ ºñÇØ ºò ¿£µð¾ÈÀÇ 0x1234¶ó´Â °ªÀº 0x00001234·Î pi°¡ °¡¸®Å°´Â °÷¿¡ ¼±Çà Á¦·Î 2¹ÙÀÌÆ®°¡ ÀÖ´Ù. ÀÌ »óÅ¿¡¼ µÚÂÊÀÇ 2¹ÙÀÌÆ®¸¦ ÀÐÀ¸·Á¸é pi ÀÚ¸®¸¦ µÚÂÊÀ¸·Î 2¹ÙÀÌÆ® ¸ÕÀú ¿Å°Ü¾ß ÇÏ´Â ¹ø°Å·Î¿òÀÌ ÀÖ´Ù.
ŸÀÔÀÇ È®ÀåÀÌ ÀϾ ¶§µµ ¸¶Âù°¡ÁöÀÌ´Ù. 0x1234¶ó´Â 16ºñÆ® Á¤¼ö¸¦ 4¹ÙÀÌÆ® Á¤¼ö·Î È®ÀåÇØ¾ß ÇÑ´Ù°í ÇØ º¸ÀÚ. ÀÌ·± °æ¿ì´Â ´Ã»ó ÀϾ´Âµ¥ shortÇü º¯¼ö¸¦ Àμö·Î Àü´ÞÇÒ ¶§, ¼ö½Ä ³»¿¡¼ ¿¬»êµÉ ¶§, shortÇü °ªÀ» ¸®ÅÏÇÒ ¶§ Ç×»ó 32ºñÆ®·Î È®ÀåµÈ´Ù. 32ºñÆ® ȯ°æ¿¡¼´Â 32ºñÆ® ´ÜÀ§·Î ó¸®ÇÏ´Â °ÍÀÌ °¡Àå À¯¸®ÇÏ¸ç ½ºÅÃÀÇ Å©±â°¡ 32ºñÆ®·Î °íÁ¤µÇ¾î Àֱ⠶§¹®ÀÌ´Ù.

¸®Æ² ¿£µð¾ÈÀº 0x34, 0x12·Î ÀúÀåµÇ¾î ÀÖ´Â µÚÂÊ¿¡ 0x00, 0x00¸¦ µ¡ºÙÀ̱⸸ ÇÏ¸é °£´ÜÇÏ°Ô 32ºñÆ®·Î È®ÀåµÈ´Ù. µÚÂÊ¿¡ ´õ ³ôÀº ÀÚ¸®¼ö°¡ ÀÖÀ¸¹Ç·Î µÚ¿¡ ºÙÀÌ´Â 0°ªÀº ¼±Çà Á¦·Î°¡ µÇ¾î °ª ÀÚü¿¡ ¿µÇâÀ» ¹ÌÄ¡Áö ¾Ê±â ¶§¹®ÀÌ´Ù. ÀÌ¿¡ ºñÇØ ºò ¿£µð¾ÈÀº ¼±Çà Á¦·Î°¡ µé¾î°¥ °ø°£À» ¸¸µé±â À§ÇØ ¾ÕÂÊÀÇ 0x12, 0x34¸¦ µÚÂÊÀÇ ¸Þ¸ð¸®·Î À̵¿½ÃÄÑ¾ß ÇϹǷΠ¿©ºÐÀÇ ¿¬»êÀÌ ÇÊ¿äÇÏ´Ù.
º¸´Ù½ÃÇÇ °ªÀÇ ÀÓ½ÃÀûÀÎ Ãà¼Ò³ª È®ÀåÀÌ ÀϾ ¶§´Â ¸®Æ² ¿£µð¾ÈÀÌ ÈξÀ ´õ Æí¸®Çϰí È¿À²ÀûÀÌ´Ù. ±×·¸´Ù¸é ¸®Æ² ¿£µð¾ÈÀÌ Ç×»ó ÁÁ±â¸¸ ÇѰ¡ ÇÏ¸é ´ÜÁ¡µµ ÀÖ´Ù. °ªÀ» ±¸¼ºÇÏ´Â °¢ ¹ÙÀÌÆ®¸¦ ¹è¿Ã³·³ ´Ù·ç°íÀÚ ÇÒ ¶§´Â ºò ¿£µð¾ÈÀÌ ´õ Æí¸®ÇÏ´Ù. ¿¹¸¦ µé¾î Á¤¼öÇü °ªÀ» 8ºñÆ®¾¿ ÀÐ¾î¼ Ãâ·ÂÇÑ´Ù°í ÇØ º¸ÀÚ.
|
¿¹ Á¦ : ReadEndian |
#include <TurboC.h>
void main()
{
int i=0x12345678,j;
char *p=(char *)&i;
// ºò ¿£µð¾È
// for (j=0;j<sizeof(int);j++) {
// printf("%x ",p[j]);
// }
// ¸®Æ² ¿£µð¾È
for (j=sizeof(int)-1;j>=0;j--) {
printf("%x ",p[j]);
}
putch('\n');
}
ºò ¿£µð¾ÈÀº ³ôÀº ÀÚ¸®¼ö°¡ ¾ÕÂÊ¿¡ ÀÖÀ¸¹Ç·Î ¼ø¼´ë·Î Ãâ·ÂÇϱ⸦ ±æÀ̸¸Å¸¸ ¹Ýº¹ÇÏ¸é µÈ´Ù. ¹Ý¸é ¸®Æ² ¿£µð¾ÈÀº ¾ÕÂÊÀÇ ³ôÀº ÀÚ¸®¼öºÎÅÍ Ãâ·ÂÇϱâ À§ÇØ ¹è¿ÀÇ µÚÂʺÎÅÍ °ªÀ» Àоî¾ß ÇÑ´Ù. °ªÀ» Ãâ·ÂÇÒ ¶§ °Å²Ù·Î Àоî¾ß ÇÏ´Â °Í°ú ¸¶Âù°¡Áö·Î »ç¶÷ÀÌ °ªÀ» ÀÐÀ» ¶§µµ ÀÌ Ãâ·Â ¼ø¼´ë·Î Àоî¾ß ÇÑ´Ù´Â Á¡ÀÌ ¹«Ã´ ºÒÆíÇÏ´Ù. »ç¶÷ÀÇ »ó½ÄÀûÀÎ »ý°¢°ú´Â ¹Ý´ë·Î µÇ¾î ÀÖ¾î ¶§·Î´Â À̰ÍÀÌ È²´çÇÑ ½Ç¼öÀÇ ¿øÀÎÀÌ µÇ±âµµ ÇÏ°í ¸Þ¸ð¸®¸¦ Á÷Á¢ Á¶ÀÛÇÒ ¶§ Ç×»ó ÁÖÀǸ¦ ±â¿ï¿©¾ß ÇÑ´Ù. ÇѸ¶µð·Î Çò°¥¸°´Ù´Â ¾ê±â´Ù.
¹ÙÀÌÆ®³¢¸®ÀÇ ¼ø¼¸¦ Á¤ÇÏ´Â ¹æ½Ä¿¡ µÎ °¡Áö°¡ ÀÖµíÀÌ ¹ÙÀÌÆ®¸¦ ±¸¼ºÇÏ´Â 8ºñÆ®¸¦ ³ª¿ÇÏ´Â ¼ø¼µµ µÎ °¡Áö¸¦ »ý°¢ÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î 0x64(½ÊÁø¼ö·Î 100)À» ÀúÀåÇÒ ¶§ ¿ÞÂÊ¿¡¼ ¿À¸¥ÂÊÀ¸·Î ³ª¿Çϸé 01100100ÀÌ µÉ °ÍÀÌ°í ¿À¸¥ÂÊ¿¡¼ ¿ÞÂÊÀ¸·Î ³ª¿Çϸé 00100110ÀÌ µÉ °ÍÀÌ´Ù. µÎ ¹æ½ÄÀº °¢ ÀÌÁø ÀÚ¸®¼öÀÇ °¡ÁßÄ¡°¡ ´Ù¸£°Ô ¸Å°ÜÁø´Ù. ±×·¯³ª ´ÙÇàÈ÷ ÇöÁ¸ÇÏ´Â ¸ðµç CPU ÀÇ ºñÆ® ¼ø¼´Â ºò ¿£µð¾ÈÀ¸·Î ÅëÀϵǾî ÀÖ¾î ÀÌ·± °Í±îÁö´Â ½Å°æ¾²Áö ¾Ê¾Æµµ µÈ´Ù.
ºò ¿£µð¾È°ú ¸®Æ² ¿£µð¾È ¹æ½ÄÀº Å« °ªÀ» ÀÛÀº ´ÜÀ§¿¡ ³ª´©¾î ÀúÀåÇÏ´Â µÎ °¡Áö ¹æ½Ä ÁßÀÇ ÇϳªÀÏ »ÓÀÌ¸ç ¾î¶² ¹æ½ÄÀÌ Àý´ëÀûÀ¸·Î ¿ì¼öÇÏ´Ù°í ÇÒ ¼ö´Â ¾ø´Ù. °ªÀÇ Á¶°¢À» ÀúÀåÇÏ´Â ¼ø¼°¡ ´Ù¸¥ °Í »ÓÀ̸ç CPU ¼³°èÀÚµéÀº CPUÀÇ ±¸Á¶³ª ¼³°è ¹æ½Ä, Ȱ¿ë ¹æ¾È µî¿¡ µû¶ó µÎ ¹æ½Ä Áß Çϳª¸¦ ¼±ÅÃÇÑ °Í »ÓÀÌ´Ù.
±×·¸´Ù¸é °³¹ßÀÚÀÎ ¿ì¸®µéÀº Ç÷§ÆûÀÇ ¹ÙÀÌÆ® ÀúÀå ¼ø¼¿¡ °ü½ÉÀ» °¡Áú Çʿ䰡 ÀÖÀ»±î? »ç½Ç ÀÌ·± ³»ºÎÀûÀÎ ÀúÀå ¼ø¼´Â ½Å°æ¾µ Çʿ䰡 °ÅÀÇ ¾ø´Ù. ¿Ö³ÄÇÏ¸é ¸®Æ² ¿£µð¾È ¹æ½ÄÀÌ ±â·ÏÇÒ ¶§ °Å²Ù·Î ±â·ÏÇØ ³õ´õ¶óµµ ´Ù½Ã ÀÐÀ» ¶§ ¿ª½Ã °Å²Ù·Î ÀÐ¾î ¿À±â ¶§¹®¿¡ ¾îÂ÷ÇÇ ¿ì¸®°¡ ¹Þ´Â °ªÀº ÃÖÃÊ ÀúÀåÇØ ³õÀº °ªÀÌ´Ù. 0x3a991bc8À» 3a, 99, 1b, c8·Î ÀúÀåÇϵç c8, 1b, 99, 3a·Î ÀúÀåÇÏµç ´Ù½Ã Àоî¿Ã ¶§ ±× °ªÀÌ 0x3a991bc8À̱⸸ ÇÏ¸é µÇ´Â °ÍÀÌ´Ù. ³»ºÎÀûÀÎ ÀúÀå ¹æ½Ä¸¸ ¹Ý´ë·Î µÇ¾î ÀÖ´Â °ÍÀÌÁö °ª ÀÚü¸¦ ¹Ù²ã ¹ö¸®´Â °ÍÀº ¾Æ´Ï¹Ç·Î °í±Þ ¾ð¾î »ç¿ëÀÚµéÀº À̸¦ ½Å°æ¾µ Çʿ䰡 ¾øÀ¸¸ç ½ÉÁö¾î ÀÌ·± °ÍµéÀÌ ÀÖ´Ù´Â °ÍÁ¶Â÷ ¸ô¶óµµ º° ÁöÀåÀÌ ¾ø´Ù.
±×·¯³ª ¾ÆÁÖ Æ¯¼öÇÑ »óȲ¿¡¼´Â ÀÌ »ç½ÇÀ» ¾Ë¾Æ¾ß µÇ´Â °æ¿ìµµ Àִµ¥ µð¹ö±ë Áß¿¡ º¯¼ö°¡ ÀúÀåµÈ ¸Þ¸ð¸® ¿µ¿ªÀ» Á÷Á¢ µé¿©´Ù º»´Ù°Å³ª ¾Æ´Ï¸é º¯¼öÀÇ °ªÀ» ¹ÙÀÌÆ® ´ÜÀ§·Î Á÷Á¢ Á¶¸³ÇØ¾ß ÇÏ´Â °æ¿ì µîÀÌ´Ù. À̿ܿ¡ ¹ÙÀÌÆ® ÀúÀå ¹æ½ÄÀÌ ´Ù¸¥ À̱âÁ¾ ÄÄÇ»ÅͰ£ÀÇ ³×Æ®¿öÅ© Åë½ÅÀ» ÇÒ ¶§, ±¸Ã¼ÀûÀ¸·Î ÆÒƼ¾ö PC¿Í ¸ÅŲÅä½Ã°¡ Åë½ÅÇÒ ¶§ ¿£µð¾ÈÀ» ¸ÂÃß¾î¾ß ÇÏ´Â ¹ø°Å·Î¿òÀÌ ÀÖ´Ù. ¼ÒÄÏÀº ±âº»ÀûÀ¸·Î ºò ¿£µð¾ÈÀ¸·Î ÅëÀϵǾî ÀÖÀ¸¹Ç·Î ÀÎÅÚ °è¿ CPU´Â º¸³¾ ¶§ µÚÁý¾î º¸³»°í ¹ÞÀº °ªµµ µÚÁý¾î¾ß ¿ø·¡ °ªÀ» Á¦´ë·Î ÀÐÀ» ¼ö ÀÖ´Ù.