byte
8비트 부호 없는 정수형 데이터 타입이다.
0 ~ 255까지의 값을 표현할 수 있으며 메모리의 크기가 작아서 주로 이미지나 음악 파일 등의 바이너리 데이터를 다룰 때 사용한다.
또한 비트 연산을 처리할 때에도 byte 데이터 타입이 자주 사용된다.
byte b = 255;
byte b2 = (byte)128;
파일이나 이미지 등의 경우 0과 1로 이루어진 이진 데이터이기 때문에 각각의 비트는 0 또는 1의 값을 가진다. 이진 데이터를 다룰 때 byte 단위로 처리해야 하므로 해당 타입이 자주 사용되는 것이다.
예를 들어 이미지 파일을 읽어와서 메모리에 저장한다고 할 때 메모리에 저장하기 위해서는 파일의 크기만큼의 바이트 배열을 선언하고 파일에서 바이트 단위로 읽어와서 배열에 저장해야 한다. 이때 각각의 바이트는 0에서 255까지의 값을 가질 수 있기 때문에 byte 타입으로 배열을 선언한다.
using System;
using System.IO;
class Program
{
static void Main(string[] args)
{
// 파일 경로
string filePath = "C:\\images\\test.jpg";
// 파일을 바이트 배열로 읽어오기
byte[] fileBytes = File.ReadAllBytes(filePath);
// 바이트 배열의 크기 출력
Console.WriteLine("File size: " + fileBytes.Length + " bytes");
// 첫 번째 바이트 값 출력
Console.WriteLine("First byte: " + fileBytes[0]);
}
}
sbyte
부호가 있는 정수형 데이터 타입이다. byte와 달리 부호 비트를 가지기 때문에 음수 값을 표현할 수 있다.
주로 바이너리 파일 처리나 기계어 처리와 같은 곳에서 사용되는데 컴퓨터 메모리의 물리적 한계로 인해 값의 범위가 중요한 상황에서는 sbyte를 사용해서 적절하게 범위를 다룰 수도 있다.
C#에서는 보통 byte와 함께 사용하면서 비트 연산을 수행하기도 한다.
728x90
반응형
'Program Language > C#' 카테고리의 다른 글
C# 열거형 키워드 : enum (0) | 2023.04.25 |
---|---|
C# 문자 저장 키워드 : char (0) | 2023.04.25 |
C# 부동 소수점 키워드 : float, double (0) | 2023.04.25 |
C# 클래스 타입 키워드 : class (0) | 2023.04.25 |
C# 고정소수점 키워드 : decimal (0) | 2023.04.25 |