상세 컨텐츠

본문 제목

[통신] Big Endian 빅에디안, Little Endian 리틀에디안

통신

by oksk2003kr 2019. 11. 22. 17:03

본문

반응형


유래 
이 용어는 걸리버여행기기에서 유래되었습니다.
계란의 완만한 부분을 깨먹는 사람은 빅 에디안, 뾰족한 부분을 깨먹는 사람을 리틀 에디안 이라고 했답니다.

통신에서 에디안 이 이야기를 하는 이유는 시스템 마다 메모리 저장 방식이 다르기 때문입니다.
이런 서로 다른 저장 방식을 알고 있어야 정상적인 데이터를 읽을 수 있기 때문입니다.
즉, 서로 다른 방식을 사용한다면 Swapping 해서 정보를 읽는다.
패킷의 구조단위가 서로 다르다면, 또 다른 고려사양이 발생 할 것이다.

차이점 예)
200 이라는 10진수의 값을 예를 들자면, 패킷의 구성이 32bit 단위라고 한다면
Big Endian  00 00 00 C8
Little Endian C8 00 00 00 

개념은.. 알지만 햇갈려서 종종보게되는 것 같다.
Big Endian 큰거는 뒤에 두고, Little Endian 작은거는 앞에 둔다. 라고 암기하면 어떨까???


참고자료 
https://fly32.tistory.com/446

Big Endian 빅에디안, Little Endian 리틀에디안

유래 
이 용어는 걸리버여행기에서 유래되었습니다.
계란의 완만한 부분을 깨먹는 사람은 빅 에디안, 뾰족한 부분을 깨먹는 사람을 리틀 에디안 이라고 했답니다.

통신에서 에디안 이 이야기를 하는 이유 시스템 마다 메모리 저장 방식이 다르기 때문입니다.
이런 서로 다른 저장 방식을 알고 있어야 정상적인 데이터를 읽을 수 있기 때문입니다.
즉, 서로 다른 방식을 사용한다면 Swapping 해서 정보를 읽는다.
패킷의 구조단위가 서로 다르다면, 또 다른 고려사양이 발생 할 것이다.

빅 에디안  : 메모리에 데이터를 저장할 때 상위 비트의 데이터를 먼저 저장하는 방식
리틀에디안: 메모리에 데이터를 저장할 때 하위 비트의 데이터를 먼저 저장하는 방식


차이점 
예1)
200 (0xC8) = 0x000000C8 이라는 10진수의 값을 예를 들자면, 패킷의 구성이 32bit 단위라고 한다면
Big Endian  00 00 00 C8
Little Endian C8 00 00 00 

예2)
0x1234 == 0x00001234 값이 있다면,
Big Endian  00 00 12 34
Little Endian 34 12 00 00

예3)
빅 에디안 저장 방식
127 | 0 | 0 | 1 -------------> 127 | 0 | 0 | 1 -----------> 127 | 0 | 0 | 1

리틀 에디안 저장 방식
127 | 0 | 0 | 1  ------------> 1 | 0 | 0 | 127  ----------> 127 | 0 | 0 | 1
(실제 데이터)                   (메모리 내 저장 형태)  (메모리에서 값을 얻을 데이터)


개념은.. 알지만 햇갈려서 종종보게되는 것 같다.

빅 상위   = 빅상
리틀 하위  = 리하
"보통 리틀이 생각 했던 것과 다르게 되니깐, 작은놈이 문제다 " 이렇게 암기를 하면 어떨가?


참고자료 
https://fly32.tistory.com/446
http://egloos.zum.com/avata007/v/2701915




반응형

관련글 더보기

댓글 영역