015. Endian(엔디안)

2021. 10. 25. 21:34·사소한 아이의 소소한 스킬/C#
반응형

이번엔 엔디안에 대해 써보고자 한다..

엔디안이란 데이터를 메모리에 넣는 순서를 정하는거라고 생각하면 될 것 같다. (내맘대로 생각...)
(https://ko.wikipedia.org/wiki/%EC%97%94%EB%94%94%EC%96%B8) 나무위키도 함 봐보자!

그러면 이러한 엔디안은 어떠한 것들이 있는가?

단 2가지 뿐이다.

Big-Endian(빅엔디안), Little-Endian(리틀엔디안)

그렇다면 빅엔디안과 리틀엔디안의 차이는 무엇인가?

아까 말했듯 데이터에 넣는 순서가 다르다는 것..

예시로 확인해보자.

Int32 Type의 TEMP_INT 라는 변수가 있다고 생각해보자.

1
int TEMP_INT = 123456789
cs

 

이렇게 변수가 있다면... 이 변수는 과연 4바이트 메모리에 어떻게 들어갈것인가??

 

일단 12345678를 hex데이터로 변경한다면

 

 

이렇게 0x075BCD15 4바이트로 존재할 것이다....

 

그러면 차례대로

07 5B CD 15 이렇게 들어갈것인가??

 

과연?? 코드로 해보자

간단하게 작성하고... ( ToString() 사용법은 추후에 한번 더 다시 올려야겠다.. 쓰잘데기없이 길게 적었어...)

 

Label에 데이터를 표시하도록 하였다... 그리하면... 과연..

 

이렇게 나온다... 예상한것과는 반대...15가 먼저 나오고.. 그다음 CD, 5B, 07

 

이렇게 작성되는것이 리틀엔디안이다...

 

이렇게 큰수를 넣으니 잘 모르겠는것도 있겠지... 좀 작은수로 생각해보자..

 

1234로 생각한다면.. Hex값은 04D2가 될 것이고...

 

4바이트로 생각한다면.. 00 00 04 D2라고 생각하는게 맞고... 이게 메모리에 들어간다면...

 

 

이렇게 D2 04 00 00로 들어간다. 계산기와는 값이 다르다.....

 

이것이 리틀엔디안인것이다... 우리가 일반적으로 계산한 정보대로 들어가는 것이 아닌 한번 반대로 바뀌는..!!!

 

그렇다면 빅엔디안으로 저장한다면 어떻게 될까??

 

뭘 어떻게 되겠는가 00 00 04 D2로 들어가지....

 

엔디안은 이렇게 리틀과 빅으로 나누어져있는데 나누어지는 조건은 무엇인가?

 

보통 엔디안은 CPU에 따라 갈라진다..


이런식으로....

그리하여 데이터를 통신등으로 받으면 내 엔디안을 확인하여 엔디안을 교환해주는 방법을 생각해야한다.

엔디안을 확인하는 방법은...

1
BitConverter.IsLittleEndian
cs


간단!!!!

다들 엔디안을 잘 생각해보도록...!!!

최종 엔디안 확인 프로그램은 요기

TestProject.zip
0.04MB



내 프로그램이 아니고.... 인터넷에서 간단하게 해당 엔디안값을 확인해보려면 여기를 이용해보자
(https://www.scadacore.com/tools/programming-calculators/online-hex-converter/)

반응형
'사소한 아이의 소소한 스킬/C#' 카테고리의 다른 글
  • 013. LINQ Query/Method Syntax
  • 016. Window - UserControl 간 파라미터 전달
  • 012. Tab Control - TabStripPlacement
  • 011. ListBox
JOOJI
JOOJI
그냥 혼자좋아하는 것들 남기는 블로그....
  • JOOJI
    사소한프로그래머의 소소한행복
    JOOJI
  • 전체
    오늘
    어제
    • 분류 전체보기 (952) N
      • 사소한 아이의 소소한 일상 (245)
      • 사소한 아이의 소소한 먹거리 (43)
      • 사소한 아이의 소소한 정보 (75) N
      • 사소한 아이의 소소한 감사 (4)
      • 사소한 아이의 소소한 운동 (54) N
      • 사소한 아이의 소소한 여행 (40)
        • 2013_전주 (1)
        • 2014_독일 (13)
        • 2014_군산 (1)
        • 2015_제주도 (3)
        • 2015_서울모토쇼 (3)
        • 2015_진해 (1)
        • 2015_전주 (1)
        • 2016_여수 (1)
        • 2020_강릉 (1)
        • 2022_제주도 (4)
      • 사소한 아이의 소소한 강짱 (22)
        • 하트투하트 (10)
        • MAPS (1)
        • 화려한 유혹 (2)
        • 한여름의 추억 (2)
      • 사소한 아이의 TV (50)
        • Drama (9)
        • 예능 (32)
        • 사소한 아이의 다현 (9)
      • 사소한 아이의 소소한 스킬 (130)
        • Scaleform (2)
        • C# (74)
        • QT (3)
        • 알고리즘 (4)
        • Python (21)
        • PyQT5 (9)
        • C_C++ (2)
      • 사소한 아이의 소소한 축구 (283)
        • Korea (25)
        • Germany (45)
        • Bayern Munich (64)
        • Soccer_ETC (75)
        • Euro 2016 (12)
        • 친선경기 (3)
      • 사소한 아이의 소소한 생활정보 (6)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
    • 관리
  • 링크

    • 독일여행
    • 레바티스토리
    • 프라치노 공간
    • 남성패션꿀템 블로그
  • 공지사항

  • 인기 글

  • 태그

    독일
    바이에른 뮌헨
    분데스리가
    c#
    러닝
    python
    뮌헨
    WPF
    문제
    회사밥
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
JOOJI
015. Endian(엔디안)
상단으로

티스토리툴바