본문 바로가기

Programing/C#

Little Endian, Big Endian

■ Big-Endian

상위 바이트의 값이 메모리상에 먼저 표시되는 방법이다.

그림에서 보는것과 같이 메모리의 가장 낮은주소부터 데이터를 채워 나가는 방식이다.



장점> 가독성이 뛰어나고, 대소비교가 빠르다.





■ Little-Endian

Big-Endian과 반대로 하위 바이트의 값이 메모리상에 먼저 표시되는 방법이다.



시스템이 내부적으로 데이터를 처리하는데 있어서 Big-Endian방식을 사용하느냐, Little-Endian방식을 사용하느냐는 CPU에 따라 달라진다.이를 호스트 바이트 순서라고 하는데 문제는 호스트 바이트 순서가 일정치 않다는 것이다. Sun, 모토로라계열은 Big-Endian 방식을 사용하고, Intel x86 계열은 Little-Endian 방식을 사용한다.



그러므로 서로 다른 CPU를 장착하고 있는 호스트들이 데이터를 주고 받을 경우 통일된 방식을 이용해서 데이터를 전송하기로 약속했다. 이 방식이 '네트워크 바이트 순서'이다.(Big-Endian 방식만을 사용하기로 약속되어있다)



그러므로 시스템이 Little-Endian 방식을 사용할 경우, 네트워크를 통해 데이터를 전송하기 위해 Big-Endian 방식으로 데이터를 변경해서 보내야만 하고, 받을 때도 Little-Endian 시스템은 전송되어 오는 데이터를 역순으로 조합해야 한다.



장점> 산술연산이 빠르다.

'Programing > C#' 카테고리의 다른 글

[C#]Draw관련  (1) 2013.01.16
Visual Studio 2008 단축키  (0) 2011.03.23
Thread 사용법  (0) 2010.02.25
Resources에 있는 그림 삽입  (0) 2010.02.25
DrawString 가운데 정렬  (0) 2010.02.25