<div>헐.. 한것도 없는데 벌써 4번쨰 군요 ㄷㄷㄷ</div> <div>어쩌면.. 제가 쓸 연작중 가장 하이라이트이자.. 제 삶의 정수(?)인</div> <div><b>변수</b>에 대해서 이야기 해보도록 하겠습니다.</div> <div><br></div> <div>변수는 변하는 수. <b>variable </b>이라고 영어로 쓰고</div> <div><b>반대되는 개념으로 상수</b>가 있습니다. <b>constant</b>라고 하죠.</div> <div><br></div> <div>변수는 말그대로 값이 변하기 때문에</div> <div><b>컴파일 시간이</b> 아닌 <b>런타임</b>(실행중)에 값이 결정되며 시시각각 값이 변하기 때문에 <span style="font-size:9pt;line-height:1.5;">디버깅으로 머리에 쥐가 나게 하는 원흉입니다.</span></div> <div><br></div> <div><br></div> <div>그리고 변수는 값을 저장하는데 쓰입니다.</div> <div>키보드로 부터 입력을 받던, 네트워크로 무언가를 받던</div> <div>작게 말하면 변수고, 크게 운용되면 버퍼(buffer)가 되는거죠.</div> <div><br></div> <div>그리고 값을 저장하는데 있어 가장 적절한 크기의 변수를 나누어 놓았는데</div> <div>char</div> <div>short</div> <div>long</div> <div>int</div> <div>float</div> <div>double</div> <div>boolean</div> <div>string</div> <div>등이 존재하며</div> <div><br></div> <div>c언어에서는</div> <div><b>정수 </b>- char / short / long / int </div> <div><b>실수 </b>- float / double</div> <div>문자 - char</div> <div>문자열 - char *(배열)</div> <div>로 저장하게 됩니다.</div> <div><br></div> <div>정수형의 경우 1,2,3,4 와 같이 소수점 없는 숫자이며</div> <div>char형은 8bit</div> <div>short은 16bit</div> <div>long은 32bit 혹은 16bit</div> <div>int는 <span style="font-size:9pt;line-height:1.5;">32bit</span><span style="font-size:9pt;line-height:1.5;"> 혹은 </span><span style="font-size:9pt;line-height:1.5;">cpu가 표기 가능한 가장 큰 사이즈로 표기 됩니다.(<font color="#d8d8d8">마이컴에서는 16bit int형으로도...</font>)</span></div> <div><br></div> <div>그리고 <b>signed</b>(<b>양수,음수</b> - 기본값) <b>unsigned</b>(<b>양수만</b>) 두가지 접두를 가지며</div> <div>정수형에 대해서만 양수/음수를 구분합니다.</div> <div><br></div> <div><br></div> <div>일부 언어(ex, java)에서는 예외사항의 문제로 무조건 signed로만 처리하고 있습니다.</div> <div><br></div> <div><br></div> <div>아무튼 표현가능한 범위라는 생소한 개념이 존재하는데</div> <div>컴퓨터는 2비트로 나타내기기에</div> <div>8bit = 2^8 = 256가지</div> <div>16bit = 2^16 = 65536 가지</div> <div>32bit = 2^32 = 대충 42억 가지</div> <div>를 표현이 가능합니다.</div> <div><br></div> <div><br></div> <div>즉, </div> <div>char -128 ~ 127</div> <div>short -32768 ~ 32767</div> <div>int 대충 -21억 ~ 21억</div> <div><br></div> <div>unsigned char 0 ~ 255</div> <div><span style="font-size:9pt;line-height:1.5;">unsigned</span><span style="font-size:9pt;line-height:1.5;"> </span>short 0~65535</div> <div>unsigned int 0~대충 42억</div> <div>의 값을 표현이 가능합니다.</div> <div><br></div> <div><br></div> <div>프로그래밍 책에서는 <span style="font-size:9pt;line-height:1.5;">고전적인</span><span style="font-size:9pt;line-height:1.5;"> 표현으로</span></div> <div><span style="font-size:9pt;line-height:1.5;">"<b>과거에는 램이 금값보다 비싸서 표현가능한 적절한 용량(?)으로 효율적인 사용을 위해 변수타입이 존재한다</b>" 라고 했으나</span></div> <div><span style="font-size:9pt;line-height:1.5;">개인적으로는</span></div> <div><span style="font-size:9pt;line-height:1.5;">"<b><font color="#ff0000">컴퓨터가 해석하기 위한 방법론을 제시하기 위함</font></b>" 이라고 표현을 합니다.</span></div> <div><span style="font-size:9pt;line-height:1.5;"><br></span></div> <div><span style="font-size:9pt;line-height:1.5;"><br></span></div> <div>컴퓨터는 0과 1로만 표현을 하기에</div> <div>101010101010101101010101101101010110</div> <div>이라는 값이 존재할 때 이걸 몇 개 끊어 해석을 할지 알 수가 없기 때문이고</div> <div>해석상의 방법을 제공하기 위해 변수형이라는 것이 존재합니다. <span style="font-size:9pt;line-height:1.5;">(즉, 파싱을 위해서?)</span></div> <div><br></div> <div><br></div> <div><br></div> <div><br></div> <div> <div style="font-family:'굴림', gulim, 'ë‹ì›€', Dotum, Helvetica, AppleGothic, sans-serif;line-height:21.6000003814697px;">+</div> <div style="font-family:'굴림', gulim, 'ë‹ì›€', Dotum, Helvetica, AppleGothic, sans-serif;line-height:21.6000003814697px;"> <ul><li><span style="font-family:'굴림', gulim, '돋움', Dotum, Helvetica, AppleGothic, sans-serif;font-size:9pt;line-height:1.5;"><a target="_blank" href="http://todayhumor.com/?programmer_12065" style="color:#0000FF;text-decoration:none;">프로그래밍 언어란</a></span></li> <li><font face="굴림, gulim, 돋움, Dotum, Helvetica, AppleGothic, sans-serif"><a target="_blank" href="http://todayhumor.com/?programmer_12087" style="color:#0000FF;text-decoration:none;">프로그래밍 언어의 종류와 구성</a></font></li> <li><a target="_blank" href="http://todayhumor.com/?programmer_12115" target="_blank">프로그래밍 언어의 식별자</a></li></ul></div></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.