๋ฐ์ดํธ ์ ์ฅ ์์
์ปดํจํฐ๊ฐ ๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํ๊ธฐ ์ํด์๋ ๊ธฐ๋ณธ์ ์ผ๋ก Byte ๋ผ๋ ๋จ์๋ฅผ ์ฌ์ฉํ๋ค.
์ด Byte ๋ฅผ ์ด๋ป๊ฒ ์ ์ฅํ๋๋์ ๋ฐ๋ผ์ PC์ ์ฑ๋ฅ์ ์ฐจ์ด๊ฐ ์์ ์ ์๋ค.
์ด๋ ์ฐ์๋ Byte๋ฅผ ์ ์ฅํ๋ ๋ฐฉ๋ฒ์ Endian ์ด๋ผ๊ณ ํ๋ค.
์ด๋ฌํ Endian ์ Little Endian ๋ฐฉ์๊ณผ Big Endian ๋ฐฉ์์ผ๋ก ๋๋๊ฒ ๋๋๋ฐ, ์ฐ์ ์๋์ธ์ด ๋ฌด์์ธ์ง ์์๋ณด์.
Endian, ์๋์ธ
์ปดํจํฐ์ ๋ฉ๋ชจ๋ฆฌ์ ๊ฐ์ 1์ฐจ์ ๊ณต๊ฐ์์ ์ฌ๋ฌ ๊ฐ์ ์ฐ์๋ ๋ฐ์ดํฐ ๋์ ๋ฐฐ์ด์ ์ ์ฅํ๋ ๋ฐฉ๋ฒ์ ๋ฐ๋ก ์๋์ธ ์ด๋ผ๊ณ ํ๋ค.
์ด๋ ์์คํ ์ด ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋๋ฐ ์์ด ์ค์ํ ๊ฐ๋ ๊ณผ ์ญํ ์ ์ํํ๊ฒ ๋๋๋ฐ, ํน์ ์๋์ธ ๊ธฐ๋ฒ์ ํตํด์ Byte Order ์ ์ง์ ํ ์ ์๋ค.
ํ๋์ ์ด์์ฒด์ ์์๋ ์ฌ๋ฌ Endian ๊ธฐ๋ฒ์ด ์ฌ์ฉ๋๋๋ฐ, ํฌ๊ฒ 2๊ฐ์ง๋ก ๋๋ ์ ์๋ค
- Big Endia
- Little Endian
๊ฐ๊ฐ ์์์ ์ฐจ์ด๊ฐ ์กด์ฌํ๋๋ฐ, ์ด๋ ต์ง ์์ผ๋ ๋ฐ๋ก ํ์ธํด๋ณด์.
1. Big Endian
Big Endian ์ ํฐ ๋จ์๊ฐ ์์ ๋์ค๋ ํํ๋ก,
๋ฎ์ ์ฃผ์์ ๋ฐ์ดํฐ๋ฅผ ๋์ ๋นํธ(MSB, Most Significant Bit) ๋ถํฐ ์ ์ฅํ๋ ๋ฐฉ์
์ ์๋ฏธํ๋ค.
์๋ฅผ ๋ค์ด์ ๋ณด์๋ฉด,
0x12345678
์ด๋ผ๋ ์ฃผ์๊ฐ ์๋ค๊ณ ๊ฐ์ ํด๋ณด์.
๊ทธ๋ผ ์ ์ ์๋ 1 Byte ๊ฐ 4๊ฐ๋ก ๊ตฌ์ฑ๋ ์ ์๋ค.
0x12
0x34
0x56
0x78
๊ทธ๋ผ ์์ ๋ฐ์ดํฐ๋ ๋ฎ์ ์ฃผ์์ ๋ฐ์ดํฐ์ ๋์ ๋นํธ 0x12
๋ถํฐ ์์ํด์ ๋์ ์ฃผ์๋ก ์ฑ์์ง๊ธฐ ๋๋ฌธ์ ์๋์ ๊ฐ์ ํํ๋ก ์ ์ฅ๋๋ค
2. Little Endian
Little Endian ์ ์์ ๋จ์๊ฐ ๋จผ์ ๋์ค๋ ํํ๋ก,
๋ฎ์ ์ฃผ์์ ๋ฐ์ดํฐ๋ฅผ ๋ฎ์ ๋นํธ(Least Significant Bit) ๋ถํฐ ์ง์ ํ๋ ๋ฐฉ์
์ ์๋ฏธํ๋ค.
์ญ์ ์๋ฅผ ๋ค์ด์ ๋ณด์๋ฉด,
0x12345678
์ด๋ผ๋ ์ฃผ์๊ฐ ์๋ค๊ณ ๊ฐ์ ํด๋ณด์.
๊ทธ๋ผ ์ ์ ์๋ 1 Byte ๊ฐ 4๊ฐ๋ก ๊ตฌ์ฑ๋ ์ ์๋ค.
0x12
0x34
0x56
0x78
๊ทธ๋ผ ์์ ๋ฐ์ดํฐ๋ ๋ฎ์ ์ฃผ์์ ๋์ ๋นํธ 0x78
๋ถํฐ ์์ํด์ ๋ฎ์ ์ฃผ์๋ก ์ฑ์์ง๊ธฐ ๋๋ฌธ์ ์๋์ ๊ฐ์ ํํ๋ก ์ ์ฅ๋๋ค
Big Endian vs Little Endian
CPU, ์์คํ ์ํคํ ์ฒ์ ๋ฐฉ์์ ๋ฐ๋ผ์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํ ์๋์ธ์ ์ฌ์ฉ์ ๊ฐ๊ฐ ๋ค๋ฅผ ์ ์๋ค.
Endian | ๋ํ์ ์ธ CPU | ํน์ง |
๋น ์๋์ธ, Bit Endian | intel x86,AMD, EDC | ๋ฌผ๋ฆฌ์ ์ธ ๋ฐ์ดํฐ ์กฐ์ ๋ฐ ์ฐ์ ์ฐ์ฐ์ ํนํ |
๋ฆฌํ ์๋์ธ, Little Endian | IBM, ARM, Motorola | ๊ฐ ๋ฐ์ดํธ๋ฅผ ๋ฐฐ์ด์ฒ๋ผ ์ทจ๊ธํ ๋ ์ ํฉ |
๊ทธ๋ผ ์ฐ๋ฆฌ๋ ์ด๋ฐ ์๊ฐ์ ํ ์ ์๋ค.
Big Endian ์ด Little Endian ๋ณด๋ค ์ฐ์ํ ์ง์ ๋ฐฉ์์ธ๊ฐ?
์ด์ ๋ํ ๋ต์ ์๋ก ํน์ง์ด ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ๋น๊ตํ๊ธฐ ํ๋ค๋ค ์ด๋ค!
๋คํธ์ํฌ ๊ด์ ์์์ ์๋์ธ
์ฐ๋ฆฌ๋ ์ง๊ธ๊น์ง ์์คํ ๊ด์ ์ ์๋์ธ์ ๋ํด์ ์์๋ณด์๋ค.
ํ์ง๋ง ๋คํธ์ํฌ์์๋ Byte Order ๋ฅผ ๋ค๋ฃจ๊ธฐ ์ํ ์๋์ธ์ด ์กด์ฌํ๋ค.
๋ฐ๋ก Big Endian ์ ์ฌ์ฉํ๋ค.
๊ทธ๋์ ์ธํ ์์คํ ์์ ์์ผ ํต์ ์ ํ ๋ ๋ฐ์ดํธ ์์๋ฅผ ๋ณ๊ฒฝํ๋ ์กฐ์์ด ํ์ํ ๊ฒ์ด๋ค.
๋ค์ ์๊ฐ์๋ HBO์ NBO ์ ๋ํด์ ์์๋ณด๋๋ก ํ์
๋๊ธ