컴퓨터하면 무엇이 떠오르시나요?
컴퓨터에서는 수많은 숫자들을 다룹니다.
게임에서 생각해 봅시다. 현재 HP,MP, 경험치, 그 외의 스탯이 거의 전부 숫자로 표현됩니다.
그렇다면 이 숫자를 어떻게 보관하기 해야 할까요?
자. 우리가 6974라는 숫자를 저장하고싶다고 가정합시다. 그러려면 이 6974를 저장하기 딱 맞는 상자가 있으면 되겠군요!
이 상자를 변수라고 합니다.
어라, 그래놓고 보니까 이번엔 6974892라는 훨씬 긴 숫자를 저장하고싶어졌습니다.
근데 집어넣어보려고 하니까 안들어갑니다. 어랍쇼?
(이런 현상을 오버플로라고 합니다.)
네. 넣어버리니까, 잘리고 말았습니다.
(숫자가 잘려 버리면서, 원래 넣으려고 했던 숫자가 아니고, 이상한 숫자가 됩니다.)
그렇다면, 좀더 걸맞게 큰 상자를 쓰면 넣을수가 있겠네요.
잘 들어 갑니다.
그렇다면 여러 크기의 상자들을 만들어 놓으면, 무슨 숫자가 들어오든 문제가 없겠군요!
이 각 상자의 크기를 자료형 이라고 합니다.
이 방법의 문제점은, 이 상자보다 긴 숫자는 넣을 수가 없다는겁니다.
이건 나중에 해결할수 있는 방법이 있긴 합니다, 지금은 몰라도 되요!
혹시나 착각하실지도 모른다는 노파심때문에 하는 말입니다만, 큰 상자에 작은수를 못넣는건 아닙니다.
이렇게 큰 상자에, 작은 수를 넣는것도 가능해요!
그렇다면 여기서 이런 의문이 들지도 모르겠군요.
Q. 그렇다면 무조건 큰 상자를 쓰면 되지 않나요
A. 만약 우리가 연필 하나를 보관하는데, 옷장을 쓴다면 "그게 뭔 미친짓이야?" 라는 생각이 들겁니다.
그거랑 같은거에요.
실제 컴퓨터는 십진수가 아니라 이진수라는 점을 제외하고는 완전히 동일합니다.
'프로그래밍' 카테고리의 다른 글
MIDI 포맷에 대해 알아보자.araboza (1) | 2018.12.22 |
---|---|
블로그에 소스코드를 입력하는 방법, colorScripter 이용하기 (2) | 2017.01.09 |
중괄호 위치에 따른 코딩 스타일 (0) | 2016.12.30 |
비트? 바이트? (0) | 2016.12.10 |
아스키 코드 표 (0) | 2016.12.10 |