Contents
프로토콜 문서를 자주 접하다보면 바이트, 비트가 많이 보일 것이다. 그러다보면 많이 접했지만 정확한 뜻을 모르는 단어들이 많이 보인다. 그 단어들 중 이 포스팅에서는 MSB와 LSB에 대해 알아보려고 한다.
MSB와 LSB
MSB (Most Significant Byte, 최상위 바이트)
숫자 값의 크기에 가장 크게 영향을 미치는 유효 숫자이다. 즉, 그 숫자의 바이트 중에서 맨 왼쪽에 해당하는 바이트를 뜻한다.
10진수 100의 이진 표현으로 예를 들어보겠다.
0 (2^7) |
1 (2^6) |
1 (2^5) |
0 (2^4) |
0 (2^3) |
1 (2^2) |
0 (2^1) |
0 (2^0) |
unsigned 타입에서의 MSB는 가장 갓이 큰 위치의 최상위 비트라는 점만 알아두면 된다. 하지만 signed 타입에서의 MSB는 부호를 나타내는 최상위 비트가 되므로 양수인지 혹은 음수인지를 판단할 수 있는 값이 된다. 즉, 가장 최상위의 부호값 비트라고 할 수 있다.
LSB (Least Significant Byte, 최하위 바이트)
숫자 값의 크기에 가장 영향을 덜 미치는 유효 숫자이다. 즉, 그 숫자의 바이트 중에서 맨 오른 쪽에 해당하는 바이트를 뜻한다.
10진수 100의 이진 표현으로 예를 들어보겠다.
0 (2^7) |
1 (2^6) |
1 (2^5) |
0 (2^4) |
0 (2^3) |
1 (2^2) |
0 (2^1) |
0 (2^0) |
LSB는 unsigned 타입이든 signed 타입이든 큰 차이점 없이 가장 최하위에 위치한 비트 값이다. unsigned 타입에서는 LSB를 이용하여 해당 데이터 형에 들어있는 실제 숫자가 짝수인지 혹은 홀수인지 판단할 수 있다.
알아둬야할 점
MSB와 LSB는 언제 가장 많이 사용되느냐 하면 임베디드 등에서 통신을 할 경우, 송수신할 데이터의 각 비트를 단위시간에 따라 순차적으로 보내게 되는데, 이때 MSB부터 보내느냐 LSB부터 보내느냐를 명확히 알아야 할 때 중요하게 알아둬야 한다.
어떤 비트부터 들어오느냐에 따라 값이 확연히 달라질 수 있기 때문에, 더이상 헷갈리지 않길 바란다.
참고
https://blog.naver.com/ansdbtls4067/220886567257
'프로그래밍' 카테고리의 다른 글
PWM 펄스 폭 변조 (Pulse Width Modulation) (1) | 2024.02.07 |
---|---|
누구나 쉽게 이용할 수 있는 무료 프로그래밍 사이트 추천 (0) | 2023.01.19 |
Git GitLab GitHub에 대해 알아보자 (14) | 2023.01.12 |
유용한 온라인 컴파일러 사이트 (3) | 2022.12.21 |
mac android studio 삭제 (0) | 2022.01.14 |
댓글