[C++] 자료형 (정수/실수)

hyeona·2024년 2월 6일

C++

목록 보기
2/8
post-thumbnail

📌 데이터 단위 및 양

✔️ 1바이트 = 8비트 = 2^8 : 256가지의 표현 가능(0~255)


📌 자료형(Data Type)

: 변수가 어떠한 자료의 형태를 나타내는지 알려준다.

정수와 실수는 표현하는 방식이 다르다.



1. 정수형

  • char, short, int, long
  • long long : int형 연산에서 초과되는 범위를 다룰 때 사용

✔️ 양수만 취급하고 싶을 경우 unsigned를 앞에 붙여야 함!


(1) 자료형에 따라 달라지는 양수, 음수

✔️ 맨 앞자리 비트(MSB: Most Significant Bit)가 0일 경우 : 양수 -> 128개
✔️ 맨 앞자리 비트(MSB: Most Significant Bit)가 1일 경우 : 음수 -> 128개


하지만 무조건 MSB가 0,1이라고 양수,음수가 아니다!!!!!!!
즉, 양수로 사용할 때는 굳이 비트를 안 봐도 되지만 양수,음수 둘 다 표현할 때는 MSB 확인!

//0~255 표현
unsigned char c = 0;
c = 255; //255로 들어감 (비트 상태 : 1111 1111) -> 양수
c = -1; //255로 들어감

//-128~127 표현
char c1 = 0;
c1 = 255; //-1로 들어감 (비트 상태 : 1111 1111) -> 음수

❗️ 동일한 메모리 공간에 같은 값으로 채워지더라도 어떻게 해석하느냐에 따라 달라진다!


(2) 2의 보수법

: 주로 음의 정수를 찾을 때 사용한다.

✔️ 사용법 : 대응되는 양수의 부호를 반전 후, 1을 더한다.



2. 실수형

: 정밀도에 의존
: 부동 소수점 표현 방식 사용
-> 가장 근사한 값으로 비트 표현

  • float
  • double : 더 정밀한 표현이 가능 (float보다 더 아래의 소수점까지 정확하게 표현이 가능)

✔️ 실수를 상수로 적을 경우, 소수점 뒤에 f를 붙이면 float, 안 붙이면 double으로 간주한다.

✔️ 정수는 정수끼리, 실수는 실수끼리 연산하되, 두 표현방식의 피 연산자가 연산될 경우 명시적으로 변환!
Ex) float f = 10.2415f + (float)20;



0개의 댓글