endianness 2

[임베디드] 엔디안 방식의 이해(2) with CAN Message

본문Big-endian  빅 엔디안 방식은 큰 값을 먼저 저장하는 방식이다. 예를 들어, 1234라는 숫자에서 1이 가장 중요한 숫자(MSB)가 되는 방식이다. 빅 엔디안에서는 이 작은 값이 메모리의 앞쪽에 저장되고, 작은 값(LSB)이 나중에 저장된다.  이 방식은 사람이 숫자를 읽는 방식과 동일하게 데이터를 저장하기 때문에, 디버깅이나 사람이 데이터를 직관적으로 이해하기에 매우 용이하다. 예를 들어, 32비트 정수 0x12345678을 빅 엔디안 방식으로 저장하면 메모리 상에 12 34 56 78 순서로 저장되며, 이는 우리가 숫자를 읽는 순서와 일치한다.  빅 엔디안 방식은 네트워크 프로토콜에서 표준적으로 사용되는데, 이를 "네트워크 바이트 오더"라고 부른다. 이 덕분에 네트워크 통신에서 일관성을 ..

CS/임베디드 2024.09.30

[임베디드] 엔디안 방식의 이해(1) with CAN Message

Endianness개요   엔디안(Endianness)은 컴퓨터 시스템에서 데이터를 메모리나 전송 매체에 저장할 때, 그 배열 순서를 결정하는 개념이다. 즉, 엔디안은 숫자나 다중 바이트 데이터(예: 16비트, 32비트, 64비트 등)를 저장하거나 전송할 때, 어떤 순서로 배열할 것인지를 나타낸다. 이 순서는 시스템의 하드웨어 구조에 따라 달라지며, 특히 메모리, 파일 포맷, 네트워크 통신 등에서 중요한 역할을 한다. 엔디안은 크게 빅 엔디안(Big-endian)과 리틀 엔디안(Little-endian)으로 나뉜다.  엔디안이 중요한 이유는 시스템 간 데이터 전송 시 엔디안의 차이는 호환성 문제를 일으킬 수 있기 때문이다. 따라서 데이터 전송 표준(예: 네트워크에서는 주로 빅 엔디안을 사용)이나 프로토콜..

CS/임베디드 2024.09.26