프로그래밍/C++

#13. 정수

코딩하는상후니 2022. 7. 16. 22:00

 
* '정수' 에 대해 알아보자.
 
char a; // 1바이트
short b; // 2바이트
int c; // 4바이트
__int64 d; // 8바이트 (long long)
 
signed char a; // 1바이트
signed short b; // 2바이트
signed int c; // 4바이트
signed __int64 d; // 8바이트 (long long)
 
signed  :  음수를 포함 => signed 를 생략하고 있다.
unsigned  :  음수를 포함하지 않음
 
 
signed char a; // 1바이트 (-128 ~ 127)
signed short b; // 2바이트 (-32768 ~ 32767)
signed int c; // 4바이트 ...
signed __int64 d; // 8바이트 (long long) ...
 
unsigned char a; // 1바이트 (0 ~ 255)
unsigned short b; // 2바이트 (0 ~ 65,535)
unsigned int c; // 4바이트 ...
unsigned __int64 d; // 8바이트 (long long) ...
 
 

 
-> 콘솔 / 모바일 게임  :  메모리가 늘 부족..
 
 
*무조건 양수라면 unsigned 를 사용할지 의견이 갈림
=> 레벨이 음수라는 것은 말이 안됨 -> 결국 이 자체가 '버그' -> 바로 찾아낼 수 있다.
=> unsigned / signed 사이의 변환에서 에러가 날 수 있음.
=> 코딩 스타일에 따라 다름.
 
 
*정수 오버플로우
*b 의 값은 ??
short b;
b = 32767;
b += 1;
cout << b << endl;
 
 
*정수 언더플로우
unsigned int g;
g = 0;
g -= 1;
cout << g << endl;

 


본 내용은 인프런의 루키스님 강의를 듣고 정리한 내용입니다.

'프로그래밍 > C++' 카테고리의 다른 글

#15. UTF & ASCII  (0) 2022.07.16
#14. 부동소수점 & boolean  (0) 2022.07.16
#12. 스택 메모리 & 스택 프레임 ( Stack Frame )  (0) 2022.07.15
#11. 함수 기초  (0) 2022.07.15
#10. 배열과 주소  (0) 2022.07.15