Minwoo Dev.
3. 자료형 본문
728x90
반응형
SMALL
※기본 자료형의 종류와 데이터 범위
자료형
|
크기
|
값의 표현범위
|
|
정수형
|
char
|
1바이트
|
-128이상 +127이하
|
short
|
2바이트
|
-32768이상 +32767 이하
|
|
int
|
4바이트
|
-2,147,483,648이상 +2,147,483,647이하
|
|
long
|
4바이트
|
-2,147,483,648이상 +2,147,483,647이하
|
|
long long
|
8바이트
|
-9,223,372,036,854,775,808이상 +9,223,372,036,854,775,807 이하
|
|
실수형
|
float
|
4바이트
|
±3.4×10^(-37).이상 ±3.4×10^(+38)이하
|
double
|
8바이트
|
±1.7×10^(-307)이상 ±1.7×^(+308) 이하
|
|
long double
|
8바이트 이상
|
double 이상의 표현 범위
|
※ 실수형 변수에서 범위는 정수형 범위와 다르게 정밀도와 관련이 있다. 정밀도가 클수록 소수점 아랫자리까지 손실없이 데이터를 보존한다.
※ 자료형의 변환
- 자동 형 변환
#include<stdio.h>
int main(void)
{
short num1 = 15. num2 = 25;
short num3 = num1 + num2;
. . . .
return 0;
}
위 소스코드에서 num1 과 num2 가 int 형으로 변환된다.
그 이유는 두 변수를 더한 값이 short 변수의 범위를 벗어나기 때문에 자동으로 num1, num2가 int형으로 변환된다.
이러한 형 변환을 "정수의 승격에 의한 자동 형 변환" 이라 한다.
#include<stdio.h>
int main(void)
{
int num1 = 3, num2 = 4;
double divResult;
divResult = num1 / num2;
printf("나눗셈 결과 : %f \n",divResult);
return 0;
}
위와 같이 프로그램을 실행하면 결과는 0.0000이 나온다.
0.75가 출력되지 않는다는 소리다.
divResult = (double)num1 / num2;
위와 같이 코드를 수정하는 것을 "명시적 형 변환" 이라고 한다.
코드를 위와 같이 수정하면 우리가 원하는 0.75라는 값이 결과로 출력된다.
즉, int형 변수를 double 형으로 바꾸어 계산하여야 결과가 출력된다는 것이다.
※ 위와 같은 실수는 흔히들 많이 하니 주의할 것.
728x90
반응형
LIST
'C++' 카테고리의 다른 글
<윤성우의 열혈 C프로그래밍> :: 12. 포인터의 이해 문제풀이 (0) | 2023.09.04 |
---|---|
<윤성우의 열혈 C프로그래밍> :: 11. 1차원 배열 문제풀이 (0) | 2023.09.04 |
<윤성우의 열혈 C프로그래밍> :: 10. 도전! 프로그래밍 1 문제풀이 (0) | 2023.09.04 |
2. 기본적인 연산자 (0) | 2023.06.03 |
1. 기본적인 C언어 (0) | 2023.06.03 |