블로그 이미지
초보 용사 꼬마라크. 그림은 만렙 용사 아랑소드 -네이버웹툰 아스란영웅전 발췌
꼬마라크

Notice

Archive

calendar

1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
  • total
  • today
  • yesterday

'little endian'에 해당되는 글 1건

  1. 2007.12.14 little endian과 big endian
2007. 12. 14. 21:53 Programmer/기초

2진데이터를 메모리에 저장하는 순서로 두가지를 들수있다.(더있으려나..)

little endian과 big endian.

전자는 인텔계열 CPU에서 사용하고, 후자는 모토로라계열에서 사용한다.

모두 다같이 같은 방식을 쓴다면 상관없겠으나...
각 회사의 주장은.. 암튼 자기네거가 좋다더라니까..-_-(분석한자료를 어디서 봤는데..)

간단히 설명을 하자면.. little endian은 LSByte부터 앞에 써주는것이고,
big endian은 MSByte부터 앞에 써주는것이다.(byte에 집중. bit아님)

shovel=50000    : 0xc3 50

요렇게 어사인을 하면..

&shovel
0x01     0x02       (메모리의 주소)
[-------- --------]
        short      
    50         c3
우리가 알고있는 숫자와 순서가 반대! ... 인텔의 little endian
   
    c3         50
요거는 그냥 순서, 모토로라 계열의 big endian

왜?

자 우선 데이터에 있어서 MSByte와 LSByte는
c3 50의 경우 가중치가 높은것이 MSB (c3) 낮은것은 LSB(50)

자리수가 높다고 생각하면 된다.

인텔에서는 50가 short형 기억공간(2바이트)중 제일 앞에 들어간다. 그다음 자리는 그다음주소..이런식으로..
(0x12 34 56 78 -> 78 56 34 12)

모토로라에서는 c3 이 앞에 50가 뒤에..(자리수 순서대로)
(0x12 34 56 78 -> 12 34 56 78)

이것이 바로 little endian과 big endian.


시스템 아키텍쳐의 차이.

'Programmer > 기초' 카테고리의 다른 글

[링크]DLL  (0) 2007.12.14
infinite number의 정의  (0) 2007.12.14
posted by 꼬마라크