C++ Chapter 2.2 : 정수형(Integer), 고정 너비 정수

Date:     Updated:

카테고리:

태그:

인프런에 있는 홍정모 교수님의 홍정모의 따라 하며 배우는 C++ 강의를 듣고 정리한 필기입니다. 😀
🌜 [홍정모의 따라 하며 배우는 C++]강의 들으러 가기!


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^15) 가 저장 됨.
    • 단, unsigned 에 음수를 넣으면 순환되는게 아닌 오히려 이상한 값으로 저장된다.
      • ex) unsigned short 타입에 음수 -1 를 넣으면 순환된 ( 2^16 - 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를 갖는 데이터 타입으로 바꿔준다.


🌜 개인 공부 기록용 블로그입니다. 오류나 틀린 부분이 있을 경우 
언제든지 댓글 혹은 메일로 지적해주시면 감사하겠습니다! 😄

맨 위로 이동하기

Cpp 카테고리 내 다른 글 보러가기

댓글 남기기