반응형
1. C언어의 정수 자료형의 크기
c언어의 표준에서는 각 자료형 별 크기가 딱 떨어지지않고 최소 몇 비트 이상이다 라고 표시되어
있다. 컴파일러 별로 자료형의 크기가 달라질 수 있음을 의미한다. 그리고
char <= short <= int <= long <= long long 순으로 비트의 크고 작음을 정리할수 있다.
2. 정수 자료형의 일반적인 크기
그런데 위는 어디까지나 C언어의 표준이고, 보통 우리가 사용하는 컴파일러는 정수 자료형의 크기를 아래와 같다.
3. 오버플로우,언더플로우
- 자료형의 범위를 벗어나면 오버플로우,언더플로우가 발생하므로 적절한 자료형을 선택해야 한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | int main(void) { int n1 = +2147483647; int n2 = -2147483646; printf("오버플로우 발생 전: %d \n", n1); n1 = n1+100; // 오버플로우 발생 - 표현 가능한 최고 값을 위로 초과한 상황 printf("오버플로우 발생 후: %d \n\n", n1); printf("언더플로우 발생 전: %d \n", n2); n2 = n2-100; // 언더플로우 발생 -표현 가능한 최저 값을 아래로 초과한 상황 printf("언더플로우 발생 후: %d \n", n2); return 0; } | cs |
1 2 3 4 5 | 오버플로우 발생 전: 2147483647 오버플로우 발생 후: -2147483549 언더플로우 발생 전: -2147483646 언더플로우 발생 후: 2147483550 | cs |
3. unsigned
unsigned를 붙이면 음의정수를 표현하지 않고 양의정수만 표현하는것이다.
정수 자료형의 이름 앞에만 붙일 수 있다 .
unsigned 를 붙여주면 표현 할 수 있는 값의 범위가 양의 정수 방향으로 2 배 이동.
맨 앞 부호비트를 없애고 그자리를 값의 크기를 결정하는데 사용
반응형
'BackEnd > C' 카테고리의 다른 글
적절한 자료형의 선택기준 (0) | 2018.12.05 |
---|---|
실수 자료형 (0) | 2018.12.05 |
자료형을 나누는 기준은 무엇일까? (0) | 2018.12.05 |
정수와 실수의 표현방식, 그리고 변수와의 관계 (0) | 2018.12.05 |
정수와 실수의 표현 방식 (0) | 2018.12.04 |