
namespace CSharpGrammar
{
class Program
{
static void Main(string[] args)
{
int hp = 100;
// 정수의 최대 최소 크기
// MSDN 참고
// 데이터를 선택할 경우 여러가지를 고려해야됨
// 데이터 가공 및 연산등 고려해야 할 것들이 많음
// 데이터 크기를 초과한다면 버그가 일어나고 엉뚱한 숫자들이 튀어나옴
}
}
}
C#에서는 정수를 저장하는 다양한 데이터 타입이 존재합니다.
정수 타입을 선택할 때 데이터의 크기, 연산 방식, 메모리 효율성을 고려해야 합니다.
📌 변수 크기가 초과되면?
| 데이터 타입 | 크기 (byte) | 최소값 | 최대값 | 부호 여부 |
|---|---|---|---|---|
| sbyte | 1 | -128 | 127 | signed (음수 가능) |
| byte | 1 | 0 | 255 | unsigned (양수만 가능) |
| short | 2 | -32,768 | 32,767 | signed |
| ushort | 2 | 0 | 65,535 | unsigned |
| int | 4 | -2,147,483,648 | 2,147,483,647 | signed |
| uint | 4 | 0 | 4,294,967,295 | unsigned |
| long | 8 | -9,223,372,036,854,775,808 | 9,223,372,036,854,775,807 | signed |
| ulong | 8 | 0 | 18,446,744,073,709,551,615 | unsigned |
✔ 1. 숫자의 범위: 저장할 데이터가 음수를 포함하는가? 얼마나 큰 숫자를 저장해야 하는가?
✔ 2. 메모리 효율성: 작은 데이터를 큰 자료형에 저장하면 메모리 낭비 발생.
✔ 3. 성능 최적화: 일부 연산에서는 특정 자료형이 더 빠를 수도 있음.
✔ 4. 데이터 손실 방지: 범위를 초과하면 쓰레기 값이 저장될 위험이 있음.