-
[C++ 프로그래밍] 리터럴(Literals)2024년 07월 10일
- 유니얼
-
작성자
-
2024.07.10.:30
728x90C++ 기초 프로그래밍: 리터럴(Literals)
리터럴은 C++ 프로그램에서 고정된 값을 나타내는 데 사용됩니다. 리터럴은 변수나 상수에 값을 할당할 때 주로 사용되며, 다양한 타입을 지원합니다. 이번 블로그 글에서는 C++에서 지원하는 다양한 리터럴 타입과 그 사용법에 대해 알아보겠습니다.
리터럴의 종류
- 정수 리터럴: 정수 값을 나타내는 리터럴로, 다양한 자료형과 결합하여 사용할 수 있습니다.
- 부동 소수점 리터럴: 소수점이 있는 실수 값을 나타내는 리터럴입니다.
- 문자 리터럴: 하나의 문자를 나타내는 리터럴로, 작은따옴표(')로 감싸서 표현합니다.
- 문자열 리터럴: 문자열을 나타내는 리터럴로, 큰따옴표(")로 감싸서 표현합니다.
- 불리언 리터럴: 참(true)과 거짓(false)을 나타내는 리터럴입니다.
- 포인터 리터럴: 포인터를 나타내는 리터럴로, nullptr을 사용합니다.
정수 리터럴
정수 리터럴은 10진수, 16진수, 8진수, 2진수로 표현할 수 있습니다. 각 정수 리터럴은 부호 없는(unsigned), 긴(long) 타입과 결합하여 사용할 수 있습니다.
#include <iostream> int main() { // 리터럴 타입: unsigned(부호 없는)와 long(긴)의 조합. unsigned char unsigned_char {53u}; // 555U는 범위를 벗어나므로 실패 // 2바이트 short short_var {-32768}; short int short_int {455}; signed short signed_short {122}; signed short int signed_short_int {-456}; unsigned short int unsigned_short_int {5678U}; // U는 unsigned를 나타냄 // 4바이트 const int int_var {55}; signed signed_var {66}; signed int signed_int {77}; unsigned int unsigned_int {555U}; // U는 unsigned를 나타냄 // 4 또는 8 바이트 long long_var {88L}; // 4 또는 8 바이트 long int long_int {33L}; signed long signed_long {44l}; signed long int signed_long_int {44l}; unsigned long int unsigned_long_int {555ul}; // ul은 unsigned long을 나타냄 // 8바이트 long long long_long {888ll}; // 8 바이트 long long int long_long_int {999ll}; signed long long signed_long_long {444ll}; signed long long int signed_long_long_int{1234ll}; // 숫자 그룹화: C++14 이후 지원 unsigned int prize {1'500'000u}; // 1,500,000을 나타냄 std::cout << "The prize is : " << prize << std::endl; std::cout << "signed_long_long_int : " << signed_long_long_int << std::endl; // 축소 변환 오류 // 축소 변환 오류는 중괄호 초기화 방식에서 잡아냄. // 대입과 함수형 초기화는 이를 잡아내지 못함. // unsigned char distance {555u}; // 오류 [0~255] // unsigned int game_score {-20}; // 오류 // std::cout << "game_score : " << game_score << std::endl; // 숫자 시스템 - 16진수: 0x로 접두어 붙임 unsigned int hex_number{0x22BU}; // 555를 16진수로 나타냄 int hex_number2 {0x400}; // 1024를 16진수로 나타냄 std::cout << std::hex << "The hex number is : " << hex_number << std::endl; std::cout << std::dec << "The hex number2 is : " << hex_number2 << std::endl; // 16진수로 색상 표현 int black_color {0xffffff}; std::cout << "Black color is : " << std::dec << black_color << std::endl; // 8진수 리터럴: 0으로 접두어 붙임 int octal_number {0777u}; // 511을 8진수로 나타냄 std::cout << "The octal number is : " << octal_number << std::endl; // 십진수로 표현하려는 경우 0으로 시작하지 않도록 주의 int error_octal {055}; // 이는 55가 아닌 45를 나타냄 std::cout << "The erronous octal number is : " << error_octal << std::endl; // 2진수 리터럴 unsigned int binary_literal {0b11111111u}; // 255를 2진수로 나타냄 std::cout << "The binary literal is : " << binary_literal << std::endl; // 다른 리터럴들. 이 예제에서는 문자열에 대해 다룰 것이며, 이후에 더 자세히 배울 것임. char char_literal {'c'}; int number_literal {15}; float fractional_literal {1.5f}; std::string string_literal {"Hit the road"}; std::cout << "The char literal is : " << char_literal << std::endl; std::cout << "The number literal is : " << number_literal << std::endl; std::cout << "The fractional literal is : " << fractional_literal << std::endl; std::cout << "The string literal is : " << string_literal << std::endl; return 0; }
출력 결과
위 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다:
The prize is : 1500000 signed_long_long_int : 1234 The hex number is : 22b The hex number2 is : 1024 Black color is : 16777215 The octal number is : 511 The erronous octal number is : 45 The binary literal is : 255 The char literal is : c The number literal is : 15 The fractional literal is : 1.5 The string literal is : Hit the road
주요 리터럴 설명
정수 리터럴:
- unsigned int prize {1'500'000u};는 1,500,000을 나타내는 정수 리터럴입니다. 숫자 그룹화(')를 사용하여 가독성을 높였습니다.
- unsigned int hex_number{0x22BU};는 16진수 리터럴로, 555를 나타냅니다.
- int octal_number {0777u};는 8진수 리터럴로, 511을 나타냅니다.
- unsigned int binary_literal {0b11111111u};는 2진수 리터럴로, 255를 나타냅니다.
부동 소수점 리터럴:
- float fractional_literal {1.5f};는 소수점이 있는 실수 값을 나타내는 리터럴입니다.
문자 리터럴:
- char char_literal {'c'};는 하나의 문자를 나타내는 리터럴입니다.
문자열 리터럴:
- std::string string_literal {"Hit the road"};는 문자열을 나타내는 리터럴입니다.
결론
C++에서 리터럴은 고정된 값을 나타내는 데 사용되며, 다양한 타입을 지원합니다. 리터럴을 사용하면 변수나 상수에 값을 쉽게 할당할 수 있으며, 가독성과 유지 보수성을 높일 수 있습니다.
반응형다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드
받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이
감지되어도 모달 창이 표시되지 않습니다.)