컴퓨터가 표현하는 데이터 1
- 숫자
소수점 이하 자릿수를 다루지 않는 숫자 정수형 (int)
소수점 이하 자릿수를 다루는 숫자 실수형 (4바이트의 단정도 실수형(float), 8바이트의 배정도 실수형(double))
- 문자
하나의 문자 ‘ ‘
문자가 여러 개 모여있는 형태 문자열 “ “
컴퓨터가 표현하는 데이터 2
컴퓨터가 표현하는 데이터 -> 자료형
자료형에 따라 컴퓨터 내에서 확보되는 기억공간의 크기가 결정됨
프로그램 작성에서 다룰 데이터와 처리 중 저장할 데이터를 식별하여 적당한 크기의 자료형 변수에 저장해야 함!!
sizeof()연산자를 통해 아래와 같이 자료형 혹은 변수의 크기를 확인 가능하다.
#include <iostream>
using namespace std;
int main()
{
cout << "int형 변수의 크기: " << sizeof(int) << "바이트" << endl;
cout << "char형 변수의 크기: " << sizeof(char) << "바이트" << endl;
cout << "double형 변수의 크기: " << sizeof(double) << "바이트" << endl;
return 0;
}
컴퓨터가 표현하는 데이터 3
- 연산
같은 자료형의 연산 : 같은 자료형의 결과!
(예 : 정수와 정수의 나눗셈 : 정수형(몫) 10/4 -> 2)
서로 다른 자료형의 연산 : 자료형에 할당된 기억장소가 크기가 큰 자료형으로 결과가 결정됨
(예 : 정수와 배정도형 : 배정도형 10.0/4 또는 10/4.0 -> 2.5)
아래를 통해 차이를 느껴보자.
#include <iostream>
using namespace std;
int main()
{
int num1, num2;
int sum, sub, mul, div1;
double div2;
cout.setf(ios_base::fixed, ios_base::floatfield);
cout << "정수입력: ";
cin >> num1;
cout << "정수입력: ";
cin >> num2;
sum=num1+num2;
sub=num1-num2;
mul=num1*num2;
div1=num1/num2;
div2=num1/num2;
cout << "덧셈 결과" << sum << endl;
cout << "뺄셈 결과" << sub << endl;
cout << "곱셈 결과" << mul << endl;
cout << "나눗셈(int) 결과" << div1 << endl;
cout << "나눗셈(double) 결과" << div2 << endl;
div2=num1/(double)num2;
cout << "나눗셈(double) 결과" << div2 << endl;
return 0;
}
나눗셈(int)의 결과는 2, 나눗셈(double)의 결과는 2.0000, 형변환 후 나눗셈(double)의 결과는 2.5000이다.
기본 자료형
- 자료형 종류와 표현 범위
자료형 | 자료형 이름 | 표현범위 | 예 |
정수형 | int | 4바이트(-2147483648~2147483647) | -984, 56 |
short int | 2바이트(-32768~32767) | ||
long int | 4바이트 | ||
unsigned int | 4바이트 | 34, 987 | |
unsigned short int | 2바이트 | ||
실수형 | float | 4바이트 | -76.345, 674.3 소수점이 있는 상수는 배정도형 실수로 취급 |
배정도형 실수 |
double | 8바이트 | |
long double | 8바이트 | ||
문자형 | char | 1바이트(-128~127) | ‘A’, ‘4’, ‘*’ |
unsigned char | 1바이트(0~255) |
변수의 자료 범위
프로그램에서 다루는 데이터는 자료형의 범위 내에 있어야 한다!
아래를 통해 범위 내와 외의 경우를 살펴보자.
#include <iostream>
using namespace std;
int main()
{
int a=23, r=0;
r=a+1;
cout << a << " + 1 =" << r << endl;
a=2147483647;
r=a+1;
cout << a << " + 1 =" << r << endl;
return 0;
}
'C > [언어본색] C 기초' 카테고리의 다른 글
[언어 본색] #09 2장 - 논리형 (1) (0) | 2021.09.30 |
---|---|
[언어 본색] #08 2장 - 형변환 (0) | 2021.09.30 |
[언어 본색] #06 2장 - 변수와 상수 (3) (0) | 2021.09.29 |
[언어 본색] #05 2장 - 변수와 상수 (2) (0) | 2021.09.28 |
[언어 본색] #04 2장 - 변수와 상수 (1) (0) | 2021.09.28 |