Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 해석
- 백준 5086번
- 잡다한 일
- 백준 2501번
- 배열
- 5073번
- 직각 삼각형
- 일상생활 영어표현
- 연속된 숫자의 합
- 대칭 차집합
- 백준 1269번
- javascript
- C
- 백준 2525번
- 백준 1157번
- 백준 27433번
- C++
- Java
- 상세 풀이
- Unity
- 논리 연산
- 차이
- 백준 9506번
- 백준 2587번
- 백준 5597번
- 백준 #11382번 #
- 알고리즘
- 백준 25305번
- 피라미드 출력
- html
Archives
- Today
- Total
YunDev
c++ 정수형에 대해 알아보자! 본문
1.정수형
정수형에는 short, int, long이 있고 각 정수를 저장하는데 사용하는 비트의 수가 다릅니다. short형은 16비트, 일반적으로 int는 32비트, long도 32비트입니다.
short형은 -32768부터 +32767까지의 정수를 담을 수 있고 int와 long형은 -21억부터 +21억까지의 정수를 담을 수 있습니다.
2.unsigned, signed 수식자
unsigned는 변수가 음수가 아닌 값이라는 걸 나타냅니다. 음수를 제외하면 같은 비트로 더 넓은 범위의 양수를 담을 수 있습니다. 물론 무조건 음수가 될 수 없는 값에만 사용해야합니다.
signed는 변수가 음수도 가질 수 있다는 것을 명백히 하는데 사용됩니다. 따라서 signed int와 int는 같은 의미라서 보통은 생략됩니다.
3.오버플로
int형 변수는 나타낼 수 있는 정수의 범위가 제한되어 있기에 조심해야 할게 있습니다.
#include <stdio.h>
#include <limits.h>
int main() //반환 값 필요
{
short s_money = SHRT_MAX; //최댓값으로 초기화한다.
unsigned short u_money = USHRT_MAX; //최댓값으로 초기화한다.
s_money += 1;
printf("s_money = %d\n", s_money);
u_money += 1;
printf("u_money = %d\n", u_money);
return 0;
}
결과 :
short형 변수 s_money는 최댓값 32767을 저장하고 1을 증가시키니 -32768이 되었고 unsigned short형 변수인 u_money는 최댓값 65535에서 0으로 넘어갔습니다. 이런 경우를 오버플로 라고 하며 변수가 나타낼 수 있는 범위를 넘는 숫자를 저장하려 할때 발생합니다.
그래서 개발을 할때 오버플로가 일어나지 않도록 주의하여야 합니다.!!
오늘은 이렇게 정수형에 대해 알아보았습니다~ :D :D
'C언어 > C++' 카테고리의 다른 글
c++, break와 continue에 대해 알아보자! (0) | 2020.06.02 |
---|---|
c++, goto 문의 사용과 쓰이지 않는 이유 (1) | 2020.05.26 |
c++ 문자형에 대해 알아보자! (3) | 2020.05.14 |
C++ 자료형에 대해 알아보자! (1) | 2020.04.28 |
- C++로 문장 입출력해보기 - (0) | 2020.04.26 |