1바이트(byte) 단위
: 운영체제가 메모리를 관리하는 단위
1비트(bit)
: 메모리의 최소 저장 단위 // [0,1] 중 한 개 저장 // 1비트 증가 시 저장 단위는 2의 배수만큼 증가
부호비트
: 양수와 음수를 구별
예시
1바이트 = 8비트 = 256개
2바이트 = 16비트 = 65,536개
자료형
: 메모리 사용 시 몇 바이트의 메모리를 사용할 것인지 명시하는 것
(1) signed char : 부호가 있는 1바이트 저장 공간
첫 1비트는 부호 비트, 나머지 7비트에는 숫자 저장, 128개 저장 가능
(0~128) or (-128~-1)
(2) unsigned char : 부호가 없는 1바이트 저장 공간
1바이트 전체를 사용, 256개 (0~255)
(3) signed short int : 부호가 있는 2바이트 저장 공간
첫 1비트는 부호 비트, 나머지 15비트에는 숫자 저장
(4) unsigned short int : 부호가 없는 2바이트 저장 공간
2바이트 전체를 사용, 65,536개 (0~65,536)
(5) signed long int : 부호가 있는 4바이트 저장 공간
첫 1비트는 부호 비트, 나머지 31비트에는 숫자 저장
(6) unsigned long int : 부호가 없는 4바이트 저장 공간
(1) float : 32비트 (4바이트)
(1) double : 64비트 (8바이트)
아스키코드
#include <stdio.h>
int main(void)
{
char code1 = 'A'; // 문자 상수로 초기화
char code2 = 65; // 아스키 코드로 초기화
printf(“code1 = %c\n", code1);
printf(“code2 = %c\n", code2);
}
code1=A
code2=A
1과 '1'의 차이점
: 1은 정수, '1'은 문자를 나타내는 아스키코드
Q) 태양에서 오는 빛이 몇 분 만에 지구에 도착하는지를 컴퓨터로 계산해보고자 한다. 빛의 속도는 1초에 30만 km를 이동한다.
태양과 지구 사이의 거리는 약 1억 4960만km이다.
#include <stdio.h>
int main(void)
{
double speed = 300000; /*빛의 속도*/
double distance = 149600000; /*태양과 지구 사이 거리*/
double time; /*지구까지 도달 시간*/
printf("빛의 속도는 %lf km/s\n",speed);
printf("태양과 지구와의 거리는 %lf km\n", distance);
time = distance / speed;
printf("도달 시간은 %lf초.", time);
return 0;
}
