C언어에서는 성능이 가장 중요했기 때문에 컴파일러가 대상 컴퓨터 아키텍처에서 가장 잘 작동하는 int의 크기를 선택할 수 있도록 의도적으로 정수의 크기를 열어두었다.
크로스 플랫폼을 위해 C99에서는 모든 아키텍처에서 같은 크기를 갖도록 보장하는 고정 너비 정수를 정의했다.
C++ 에서는 이런 고정 너비 변수를 C++ 11의 일부로 채택했다.
아래 코드와 같이 cstdint 헤더를 선언하여 사용할 수 있다.
#include <iostream>
#include <cstdint>
using namespace std;
int main(){
int16_t a(5);
cout << a;
}
[Warning]
int8_t 그리고 uint8_t 는 각각 signed char 그리고 unsigned char 로 동작할 수도 있다.
따라서 아래와 같이 uint8_t를 사용해 코드를 작성하면 문자 A가 출력될 수 있다.
int main() {
int8_t a = 65;
cout << a;
}
'C++' 카테고리의 다른 글
[C++] Type Casting (0) | 2024.01.16 |
---|---|
[C++] boolalpha 사용해서 true/false 출력하기 (0) | 2024.01.16 |
[C++] 부동 소수점 숫자의 정밀도(Precision) (0) | 2024.01.16 |
[C++] 조건부 컴파일(Conditional compilation) (0) | 2024.01.15 |
[C++] 헤더파일 작성하기 (0) | 2024.01.15 |