C#에서 리터럴(literal)이란 코드에 직접 작성하는 고정된 값을 의미합니다. 숫자 데이터를 다룰 때 가장 많이 사용되는 것이 바로 정수 리터럴과 부동 소수점 리터럴인데요. 이번 글에서는 두 리터럴의 차이점과 작성 방법을 예제와 함께 자세히 알아보겠습니다.
정수 리터럴(Integer Literal)
정수 리터럴은 10진수(decimal) 또는 16진수(hexadecimal) 형태의 상수를 의미합니다. 진법을 나타내는 접두사(prefix)를 통해 구분할 수 있으며, 규칙은 다음과 같습니다.
- 16진수:
0x또는0X접두사 사용 (예:0x1A) - 10진수: 별도의 접두사 없이 그대로 작성
정수 리터럴의 몇 가지 예시를 살펴보겠습니다.
10 // int 18u // unsigned int
u 접미사를 붙이면 부호 없는(unsigned) 정수임을 나타냅니다. 이러한 리터럴은 변수를 선언하고 초기화할 때 실제로 활용됩니다.
// int 타입 변수 선언 및 초기화 int a = 10;
정수 리터럴 예제
아래는 정수 리터럴을 변수에 할당한 뒤 콘솔에 출력하는 전체 코드입니다.
using System;
namespace Demo {
class Program {
static void Main(string[] args) {
// int
int a = 200;
Console.WriteLine(a);
}
}
}
출력 결과
200
부동 소수점 리터럴(Floating-point Literal)
부동 소수점 리터럴은 크게 네 가지 요소로 구성됩니다.
- 정수부: 소수점 앞의 숫자
- 소수점(. ): 정수부와 소수부를 구분
- 소수부: 소수점 뒤의 숫자
- 지수부: e 또는 E로 시작하는 지수 표기
부동 소수점 리터럴은 십진(decimal) 형식 또는 지수(exponential) 형식으로 표현할 수 있습니다. 다음은 대표적인 예시입니다.
4.89f // float 리터럴 314159E-5F // 지수 형식의 float 리터럴
작성 시 주의해야 할 규칙도 있습니다.
- 십진 형식으로 표현할 때는 반드시 소수점, 지수, 또는 둘 다를 포함해야 합니다.
- 지수 형식으로 표현할 때는 반드시 정수부, 소수부, 또는 둘 다를 포함해야 합니다.
- 부호 있는 지수(signed exponent)는
e또는E로 시작하며, 마지막의f또는F접미사는 해당 값이 float 타입임을 나타냅니다.
부동 소수점 리터럴 예제
float 타입 변수에 부동 소수점 리터럴을 할당하고 출력하는 예제입니다.
using System;
namespace Demo {
class Program {
static void Main(string[] args) {
// float
float a = 4.89f;
Console.WriteLine(a);
}
}
}
출력 결과
4.89
마무리 정리
정리하면, C#에서 정수 리터럴은 int, uint 같은 정수 계열 타입에 사용되며 10진수와 16진수 표기를 지원합니다. 반면 부동 소수점 리터럴은 소수점이나 지수를 포함한 실수 값을 표현하며, f/F 접미사로 float 타입을 명시할 수 있습니다. 두 리터럴의 규칙을 정확히 이해하면 숫자 데이터를 더 안전하고 명확하게 다룰 수 있습니다.