728x90
728x90
SMALL
Chapter2. 변수와 기본 자료형
정수형 Integer
- int i = 1
ο 32 bits
■ 00000000 00000000 00000000 00000001
■ 맨 앞 0은 sign 부호 비트 - signed short
16 bits
■ 범위
\[[{-2}^{15} , 2^{15}-1]\]
■ 개수
\[2^{16}개\] - unsigned short
ο 16 bits
■ 범위
\[[0 , 2^{16}-1]\]
■ 개수
\[2^{16}개\] - overflow, underflow가 발생하면 각 타입의 범위 내에서 순환한다.
ο ex) 2$^15$ 를 signed short에 넣으면 범위 밖이니 순환되어 오히려 $($ - 2$^1$$^5$ $)$ 가 저장 됨.
ο 단, unsigned 에 음수를 넣으면 순환되는게 아닌 오히려 이상한 값으로 저장된다.
■ ex) unsigned short 타입에 음수 -1 를 넣으면 순환된 $($ 2$^1$$^6$ - 1 $)$ 이 아닌 이상한 값 나옴
■ unsigned에 음수 넣지 말자~
형변환 - int i = 22/4
ο i에는 5가 들어간다. 소수점 뒷자리를 자르고 정수로.
■ 몫만 들어가게 되는 형태 - 22/4.0
ο 5.0 의 실수형태로 들어감
고정 너비 정수
- #include <cstdint>
- C++11 부터 사용 가능
std::int16_t i(5);
- int16_t
ο 5값으로 초기화 된 i 의 데이터 타입을 16bits, 즉 2 byte 데이터 타입의 int 로 바꿔준다.
std::int8_t myint = 65;
cout << myint << endl; // 'A' 문자가 출력된다.
- int8_t
ο 65값으로 초기화 된 myint의 데이터 타입을 8bits, 즉 1byte 데이터 타입의 int로 바꿔준다.
■ 8bit 짜리 int는 char이다. signed char
■ myint를 출력하면 ‘A’가 출력됨
std::int_fast8_t fi(5);
- int_fast8_t
ο 5값으로 초기화 된 fi 의 데이터 타입을 8 bit 중 가장 빠른 데이터 타입으로 바꿔준다.
std::int_least64_t fl(5);
- int_least64_t
ο 5값으로 초기화 된 fl 의 데이터 타입을 적어도 64 bit를 갖는 데이터 타입으로 바꿔준다.
728x90
300x250
LIST
'C │ C++ │ C# > C++' 카테고리의 다른 글
C++ Chapter 2.4 : 부동소수점수 floating point numbers (0) | 2023.08.14 |
---|---|
C++ Chapter 2.3 : void (0) | 2023.08.14 |
C++ Chapter 2.1 : 기본 자료형 소개 (0) | 2023.08.13 |
C++ Chapter 1.5 : 네임스페이스, 전처리기 (0) | 2023.08.12 |
C++ Chapter 1.4 : 컴파일, 헤더 파일 만들기, 헤더 가드가 필요한 이유 (0) | 2023.08.12 |