![]() |
||||||||||||||||||||||||||||||||||||||||||||||
다양한 분야의 문제를 해결하기 위해서, 프로그램이
다양한 유형의 데이터를 다룰 수 있어야 한다.
1. 정수 수학에서 정수는 0과
자연수, 그리고 자연수의
음수로 정의된다. 다음은 올바른 정수 값의 예를 보여준다.
수학에서는 정수의 최대값과 최소값이 존재하지 않지만,
컴퓨터에서는 정수를 표현하는 기억공간의 크기에 다음은 한 바이트상에 최대로 표현할 수 있는 비트 형태를 보여준다.
가장 왼쪽에 위치한 비트는 부호(sign) 비트라 하며, 그 값이 0 이면 양수를 나타내고, 1 이면 음수를 나타낸다. |
||||||||||||||||||||||||||||||||||||||||||||||
따라서 부호 비트가 0이고 나머지 비트가 1인 경우가 최대값을 나타낸다
이제 최소값을 생각해보자. 8비트 상에 2진수의 최소값은 다음과 같이 표현된다.
대부분 컴퓨터에서 음수는2의
보수 표기법(2's complement notation)으로 표현된다는 것을 유의하라. C 언어에서 정수 데이터 타입은
int로 명시된다. 이 데이터 타입은 long으로 명시된다. 통상적으로, long 타입의 정수는 4 바이트(byte) 기억공간에 저장된다. 따라서 int 타입의 정수가 2 바이트(byte) 기억공간에 저장될 경우에, 약 65배 이상의 큰 정수를 표현할 수 있다. C 언어에서 long 타입의 정수는 그 끝에 l이나 L이 붙는다. 다음은 long 타입 정수의 예이다.
2. 부동소수점 수 많은 프로그램이 소수점을 갖는 수를 사용한다. 다음은 부동소수점 수의 예이다.
이 외에도 부동소수점 수는 지수
표기법을 사용하여 표현될 수 있다. 다음은 지수 표기법으로 표현된 부동소수점 수이다.
지수 표기 부분에서 e5, e+5, E5는 모두 동일한 표현이다. 다음은 지수 표기법으로 표현된 부동소수점 수의 수학적 의미를 설명한다.
C 언어는 두 가지의 부동소수점 타입을 제공한다
: float와
double.
대부분의 컴퓨터에서
float수는 4 바이트(byte) 기억공간에
저장되고, double은
8 바이트(byte) 기억공간에 저장된다.
3. 문자 C 언어는 프로그램에서 사용할 수 있는 다양한 문자들을 제공한다. 다음은 C 언어가 제공하는 문자들이다.
다음은 문자 상수의 예이다.
C 언어는 문자들은 ASCII(American Standard Code for Information Interchange)나 EBCDIC(Extended Binary Coded Decimal Interchange Code)의 코드 체계에 따라 컴퓨터의 기억공간에 저장된다. ASCII(아스키로 발음)는 문자를 한 개의 바이트에 표현한다. 따라서 ASCII는 128개까지의 문자 코드를 제공한다. 다음은 몇 개의 문자에 대한 ASCII 코드를 보여준다.
4. 스트링 상수 C 언어에서 스트링 상수는 여러 개의 문자가 큰따옴표로 둘러싸여 표현된다. 다음은 스트링 상수의 예이다.
위의 스트링 상수에는 대문자, 소문자, 빈칸, 특수
문자 등이 포함되어 있음을 알 수 있다.
'a'와 "a"는 다른 데이터임을 유의하라. 'a'는 문자 상수이고 "a"는 스트링 상수이다.
5. C 언어의 데이터 타입 데이터
타입은 값들의 집합과 그 값들에 대해서 수행될 수 있는 연산들로 정의된다.
연산에 관해서는 뒤에서 다룰 것이다.
|
||||||||||||||||||||||||||||||||||||||||||||||
|