Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C#에서 정수가 가질 수 있는 최대값은 얼마일까요?

C# 정수(int)의 최대값

C#에서 int(32비트 부호 있는 정수)가 표현할 수 있는 최대값은 2,147,483,647입니다. 이는 2³¹ − 1에 해당하는 값으로, 코드에서는 int.MaxValue 상수를 통해 확인할 수 있습니다.

반대로 최소값은 -2,147,483,648이며, int.MinValue로 나타낼 수 있습니다. 만약 이 범위를 넘어서는 큰 수를 다루어야 한다면 64비트 정수형인 long을 사용하는 것이 좋습니다.

아래 표는 C#의 주요 데이터 형식과 각 형식이 표현할 수 있는 값의 범위, 그리고 기본값을 정리한 것입니다.

형식설명범위기본값
bool부울 값True 또는 FalseFalse
byte8비트 부호 없는 정수0 ~ 2550
char16비트 유니코드 문자U+0000 ~ U+ffff'\0'
decimal28~29자리 유효 숫자를 가지는 128비트 고정밀 소수(-7.9 × 10²⁸ ~ 7.9 × 10²⁸) / 10⁰~²⁸0.0M
double64비트 배정밀도 부동 소수점 형식±5.0 × 10⁻³²⁴ ~ ±1.7 × 10³⁰⁸0.0D
float32비트 단정밀도 부동 소수점 형식-3.4 × 10³⁸ ~ +3.4 × 10³⁸0.0F
int32비트 부호 있는 정수 형식-2,147,483,648 ~ 2,147,483,6470
long64비트 부호 있는 정수 형식-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,8070L
sbyte8비트 부호 있는 정수 형식-128 ~ 1270
short16비트 부호 있는 정수 형식-32,768 ~ 32,7670
uint32비트 부호 없는 정수 형식0 ~ 4,294,967,2950
ulong64비트 부호 없는 정수 형식0 ~ 18,446,744,073,709,551,6150
ushort16비트 부호 없는 정수 형식0 ~ 65,5350

오버플로우 주의 사항

정수형 변수에 해당 자료형의 범위를 초과하는 값을 대입하거나 연산하면 오버플로우(overflow)가 발생하여 예기치 않은 결과가 나올 수 있습니다. 이를 방지하려면 checked 블록으로 연산을 감싸 오버플로우 검사를 활성화하거나, 처음부터 더 넓은 범위를 지원하는 자료형(long, ulong 등)을 사용하는 것이 안전합니다.