나는 빅 엔디안과 리틀 엔디안 문제로 매일 일하지 않으므로 어떤 것이 무엇인지 기억하기가 매우 어렵습니다.
최근에 두 사람의 차이점을 묻는 인터뷰를 받았습니다. 기억하지 못해서 "추측"(50 % 확률)을 결정했지만 실패했습니다.
그렇다면 빅 엔디안과 리틀 엔디안의 차이점을 기억하는 데 널리 알려진 실용적인 비법이 있습니까?
나는 빅 엔디안과 리틀 엔디안 문제로 매일 일하지 않으므로 어떤 것이 무엇인지 기억하기가 매우 어렵습니다.
최근에 두 사람의 차이점을 묻는 인터뷰를 받았습니다. 기억하지 못해서 "추측"(50 % 확률)을 결정했지만 실패했습니다.
그렇다면 빅 엔디안과 리틀 엔디안의 차이점을 기억하는 데 널리 알려진 실용적인 비법이 있습니까?
답변:
나는 항상 그것이 잘못된 방식으로 정의되었다고 생각했으며, 그것이 그것을 기억하는 요령이기도합니다. 원어민이 아닌 영어 사용자로서, "end"는 "start"의 반대라고 생각합니다 (물론 "end"는 끝-시작 끝 또는 끝 끝을 의미 할 수 있음). 어쨌든, 나는 단지 "그것은 잘못된 길을 정의했다"는 것을 기억한다 :)
또는 비트 엔디안을 참조하십시오 .
엔디안 이라는 단어의 일반적인 사용은 단어 내에서 바이트가 정렬되는 방법을 의미하지만, 일반적인 의미는 더 큰 데이터 항목의 표현 내에서 개별적으로 주소 지정 가능한 하위 구성 요소의 순서를 나타냅니다 ( Wikipedia에서 설명 ).
내 팁 :
빅 엔디안 숫자는 "빅 엔드"에서 시작합니다. 리틀 엔디안 숫자는 "little end"에서 시작합니다.
둘 다 걸리버 여행에 따라 계란을 어디에서 먹어야하는지에 대한 암시입니다.
이 경우, "끝"은 시작의 반대가 아니며, 단지 (로프 | 열) 극단을 의미하므로 "큰 피니셔"또는 "리틀 피니셔"(명백히 "시작"의 반대).
내가 기억하는 가장 쉬운 방법은“endian”이라는 단어를“startian”으로 바꾸는 것입니다. 빅 스타디 언 정수는 빅 엔드로 시작하고 (예 : 최상위 바이트가 우선), 리틀 스타디 언 정수는 작은 끝으로 시작합니다 (예 : 최하위 바이트가 우선).
나는 "big-endian"과 "little-endian"을 기억할 수 없었지만 PowerPC와 Intel x86 프로세서의 endianness를 알고있었습니다. 거의 대부분의 문자가 인텔과 공통되므로 Intel x86은 리틀 엔디안입니다.
물론 PPC와 x86의 바이트 순서를 알고있는 경우에만 유용합니다. 한편, 이제 Intel x86 = little-endian이라는 것을 기억해야합니다. 그리고 x86과 ARM은 완전히 다른 명령어 세트와도 매우 호환됩니다.
나는 이것을 이렇게 썼다 : 큰 것이 아름답다!
큰 == 아름다운 == 맞습니다.
올바른 endianess는 16 진 덤프에서 읽을 수있는 것입니다. 이것은 16 진 덤프에서 읽을 수있는 것입니다.
작은 == 못생긴 == 잘못되었습니다.
이 endianess에 의해 생성 된 hexdumps는 "Brains!"를 외치며 도망 치기에는 너무나 명백합니다. 어쩌면 이것은 일종의 외계인 혐오증 일 수 있습니다. 우리는이 천체의 기원에 대해서만 추측 할 수 있습니다. 그럼에도 불구하고, 그것은 존재하며 우리는 그것에 갇혀 있습니다.
Pitty, 항상 레이스를 만드는 최고의 변종은 아닙니다 ...
Little == ugly == wrong
... "심지어 가장 작은 사람이 미래의 진로를 바꿀 수 있습니다"-Galadrial, 반지의 제왕
빅 엔디안에서 : (오름차순)
낮음에서 높음
0 | 1 | 2 | 3 ^ ^ 시작 끝
리틀 엔디안에서 : (내림차순)
높음에서 낮음
즉
3 | 2 | 1 | 0 ^ ^ 시작 끝