본문 바로가기
개발/C#

C# byte to int

by 혈중마라농도 2022. 1. 11.
static void Main(string[] args)
{
    {
        // Bytes to int
        byte[] bytes = { 0, 0, 25, 25 };

        // 이 컴퓨터 아키텍처에서 데이터가 저장되는 바이트 순서("endian")를 나타냅니다.
        // 이 아키텍처가 little-endian이면 true이고, big endian이면 false입니다.
        if (BitConverter.IsLittleEndian)
            Array.Reverse(bytes);

        int i = BitConverter.ToInt32(bytes, 0);
        Console.WriteLine("int: {0}", i);
        // Output: int: 6425
    }
    {
        // int to bytes
        byte[] bytes = BitConverter.GetBytes(123456);
        Console.WriteLine("byte array: " + BitConverter.ToString(bytes));
        // Output: byte array: 40-E2-01-00
    }
}

엔디안(Endianness)이란?

엔디안은 메모리에 멀티바이트 데이터(예: int, float 등)를 저장하는 바이트 순서를 의미합니다.

  1. 리틀 엔디안 (Little-endian)
    가장 작은 값의 바이트(LSB: Least Significant Byte)가 가장 낮은 메모리 주소에 저장됩니다.
    • 예시: 0x12345678은 메모리에 78 56 34 12 순서로 저장됩니다.
  2. 빅 엔디안 (Big-endian)
    가장 큰 값의 바이트(MSB: Most Significant Byte)가 가장 낮은 메모리 주소에 저장됩니다.
    • 예시: 0x12345678은 메모리에 12 34 56 78 순서로 저장됩니다.
반응형

'개발 > C#' 카테고리의 다른 글

C# parse xml pretty string  (0) 2022.01.20
C# string to int 확장형  (0) 2022.01.11
C# 클라이언트 Browser 정보얻기  (0) 2022.01.07
C# 로컬IP(서버IP)정보 조회  (0) 2022.01.06
C# 파일사이즈 Long -> String 변환  (0) 2022.01.06

댓글