본문 바로가기
프로그래밍

MSB와 LSB

by 채연2 2024. 2. 7.

 

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

     

     

    320x100

    댓글