-
[삼쾌한 IT강의] 데이터 저장방식과 데이터 타입(자료형)C언어/이론 2019. 1. 19. 22:31
안녕하세요! 삼쾌한 IT강의 백소라 강사입니다.
이번 포스팅에서는 컴퓨터의 데이터 저장 방식과 C언어의 자료형(데이터 타입)에 대해 알아보도록 하겠습니다.
1. 컴퓨터의 데이터 저장방식
사람이 0 부터 9 까지의 10진수를 쓴다면, 컴퓨터는 0 과 1만 알아듣는 이진 체계를 가지고있다! 라고 말씀을 드렸습니다. 이렇게 두가지 수를 저장할 수 있는 최소의 공간을 1bit라고 합니다.
1비트는 2가지, 2비트는 4가지, 3비트는 8가지의 정보를 나타낼 수 있는데, 눈치가 빠른 분들은 캐치를 하셨으리라 생각합니다. 즉 N비트 당 2의 N승 만큼 정보를 표현할 수가 있는거죠. 아래의 그림처럼 말이에요.
그런데 우리가 이런식으로 N비트는 2의 N승으로 몇가지의 정보를 표현할 수 있어! 라고 이야기 하기엔 N이 증가할 수록 그 표현 범위가 기하급수적으로 늘어나서 파악을 하기가 힘들어집니다.
여러분은 4바이트 즉 2의 32승이 몇가지의 정보를 표현하는지 한눈에 파악이 되나요?
*참고 : 1바이트는 8비트와 같습니다.
이렇게 파악하기가 힘들기 때문에 2의 10승 즉 1,024단위로 데이터를 표시하기 시작했습니다.
우리가 USB 구입할 때 보통 용량이 2기가, 3기가 이렇게 되죠? 이런 용량들이 다 위의 데이터 단위가 기준이 되어 표시된다고 볼 수 있겠네요.
2. 자료형 (데이터 타입)
자, 그럼 C언어에서 쓰이는 자료형이 어떤게 있는지 크기는 어떻게 되는지 살펴볼까요?
자료형은 크게 정수형과 실수형으로 나뉠 수 있습니다. 그리고 정수형은 다시 char 와 int, 실수형은 float과 double을 대표적으로 쓴다고 보시면 됩니다. 표를 보시면 자료형 앞에 'unsigned' 가 붙어있는게 보이는데, unsigned는 표현 범위에서 음수를 사용하지 않고 양수만 쓰겠다는겁니다. 프로그래머가 표현 가능한 범위를 조절할 수 있는거죠.
정수형에 있는 데이터 타입 char 는 character를 줄인말로 '문자'를 나타냅니다. 그런데 어째서 정수형 자료형으로 구분이되는걸까요?
사실 컴퓨터는 우리가 사용하는 문자를 있는그대로 인식하지 못합니다. 그래서 우리는 컴퓨터 알아듣는 숫자로 우리의 문자를 매칭을 시켜줘야하죠. 그래서 나온것이 '아스키코드'라는 것이고,그렇기 때문에 '문자'를 나타내는 자료형 char도 정수형으로 구분이됩니다.
아래의 아스키코드표를 참고하시기 바랍니다.
이상 유쾌,상쾌,통쾌 삼쾌한 IT강의, 백소라 강사의 C언어 이론 설명을 마치겠습니다.
내용이 도움이 되셨다면 공감버튼 클릭, 댓글은 센스! 감사합니다.
'C언어 > 이론' 카테고리의 다른 글
[삼쾌한 IT강의] C언어 반복문2편 (while, do while) (0) 2019.01.20 [삼쾌한 IT강의] C언어 반복문1편 (for) (0) 2019.01.20 [삼쾌한 IT강의] C언어 조건문(if, switch case) + 삼항연산자 (0) 2019.01.20 [삼쾌한 IT강의] C언어 연산자 (0) 2019.01.20 [삼쾌한 IT강의] C언어 변수선언과 초기화 (0) 2019.01.19 댓글