디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

[겔럭시U]병신이 배우면서 가르치는 병신들을 위한 C언어 -3일차-

겔럭시U갤로그로 이동합니다. 2011.03.16 23:17:53
조회 143 추천 0 댓글 6


안녕...

오늘은 4일차지...

하지만 4일차 진도를 나가지 않고

3일차에서 배웠던 자료형과 변수에대해서

더 자세하게 공부해볼께

--------------------------------------------------------------------------------


Day3 -변수와 자료형 이해하기 2-


어제 배웠듯이

자료형에는 종류가 여러가지 있다고했지...

대표적으로는 정수형,실수형, 문자형이 있다고 했어

어제는 각 형별로 대표적인 자료형 한가지씩만 알아봤는데

오늘은 전체적으로 한변 살펴보려고해..


정수형


(Win32운영체제 기준)

위에 표에 있는게 기본적인 정수형 자료형들이야.

각 자료형에보면 범위가 있지?

이 범위가 해당 자료형이 가질 수있는 수의 범위야..

int형을 보면  -2147483648 ~ 2147483647이지..

대충 -21억 부터 21억 까지의 수가 저장가능한 범위야..

엄청나지? 고작 4바이트 먹는데 엄청난 수를 표현할수있다는거지...

저 범위가 어떻게 산정됬는지 보면

1bit는 0 또는 1을 표현할수있고.

1byte는 총 8bit로 이루어져 있어.

그러면 1byte로 표혀할수 있는 정수의 수는??

1byte중에서 맨 앞에있는 1bit는 부호를 나타내기 위한 용도로 사용되고

(부호를 나타내는 bit를 부호비트라고하고 부호bit가 0이면 +, 1이면 -)

나머지 7bit로 수를 표현할수있는데..

7bit로 표형할수있는 최대 정수값이 127(01111111(2))이 돼.

2진수에대해서 잘 모르는 형들은 수학책을 펴고 공부를 하고 오세요.

마찬가지로 총 4바이트짜리인 int형은 총 32개의 bit중에서 맨처음bit는 부호를 위해 사용되고

나머지 31bit로 수를 표현하게 되지... 그래서 계산해보면 대충 21억이라는 범위가 나오는거야..


또 unsinged형이 있는데 이건 부호비트를 사용하지 않겠다는거야..

즉 부호비트를 숫자를 표현하는데 사용한다는거지..

그럼 표현할수있는 수의 범위가 증가하는 대신.. -부호는 표현할 수 없지.

그리고 long형이랑 int형이랑 똑같다나는걸 느낀 형들도 있을꺼야..

차이가 뭐냐면 long형은 항상 4바이트로 크기가 고정되있는 반면에

int형은 해당 플랫폼에 따라 변할수도있다는거야..

예전에 16bit운영체제에서는 int가 2바이트를 차지했고,

지금 32bit운영체제에서는 4바이트가 되었어..

그리고 64bit운영체제에서는 8바이트가 되겠지..

왜 그런지는 아직 나도 명확하게 설명해줄수가 없네..

뭐 검색해보니 이런저런 이야기가 있던데 더 알아보고 알려줄께..

암튼 그렇데...


실수형


실수형도 위와 같은 표를 보면 여러가지가 있지..

실수형도 범위를 산정하는 공식같은게 있는데..

복잡한 이야기이기 때문에 나중에 따로 설명해줄께.

잘 고려하면서 사용하길 바래..


문자형



문자형은

1바이트지..

그냥 1바이트짜리 정수형 변수라고 생각해..

하지만 용도는 문자를 표현할때 쓰는거고..

정수를 담는데 사용해도 문제는 없지만, 용도라는걸 괜히 정해 놓은게 아니니까

알맞게 맞춰쓰도록 해.. 괜히 3바이트 아낄려고 정수형 쓸 곳에다 char써놓고

싸닥션 시전받지말고..(아 물론 예외의 경우는 있을 꺼야)

그냥 대충 상황에 맞게 알아서 잘 쓰길 바래...

그럼 궁금해지는게 어떻게 문자가 담기는 걸까?

그때 쓰는게 바로 아스키코드 라고 하는건데

한번쯤은 들어봤을꺼라고 생각해..

위에 있는게 아스키 코드표인데

각각 번호에따라서 대응되는 문자들이 있지?

만약

char ch = \'a\';

라고 했다면 문자\'a\'는 아스키코드값으로 97이고

변수 ch에는 97이 담기게 돼...

이제 대충 감이오지??
--------------------------------------------------------------------------------

상수라는 것도있는데

상수라는건 잘 알지?

사전에서 찾아보면
 "변수(變數)에 대하여 항상 일정한 값을 취하는 양(量)이다. "

이렇게 나오는데 말그대로야.. 항상 일정한 값을 가진다..

즉, 변수는 변할수있지만 상수는 절대 변하지 않는다는거지..

int a = 1; 에서 .. 1이 바로 상수야...

a는 값이 변할수 있는 반면에.. 1은 변할 수 없지...

프로그래밍에서는 상수도 변수와 마찬가지로 데이터를 저장하는 공간이기도 한데..

바꿀수 있다 없다 차이가있는..그건 나중에 상수 부분에서 더 자세히 알아보자..

--------------------------------------------------------------------------------

오늘은 길게 쓸라구했는데

오늘 유독 공부에 집중이 안되서..

하루종일 프겔질만하다보니.. 진도가 이것밖에 안나갔네..

다음 시간에는 변수에대해서 아주 깊게 파고들께..

대충

메모리에 대해서, 어떻게 저장되는지, 음수는 어떻게 표현하는지,

2진수에 대해서, 2의 보수법이나, 오버플로우가 발생하는경우,

부정소수점을 저장하는 규칙등.. 아주 더 깊숙히 살펴볼 예정이야..

 

 

추천 비추천

0

고정닉 0

0

원본 첨부파일 1

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 외모와 달리 술 일절 못 마셔 가장 의외인 스타는? 운영자 24/07/01 - -
239396 아오... 나는 가수다 짜증나네... 외계달팽갤로그로 이동합니다. 11.03.21 88 0
239393 전자사전 쓰는 갤러있냐? [3] lol(121.134) 11.03.21 92 0
239392 좆뉴비에게 관심을 주는 ㅎㅎ형 이글좀봐주세요 [12] 프로그래머(180.68) 11.03.21 148 0
239391 존나 갈구는 상사 대처법은? [6] (112.148) 11.03.21 1314 0
239387 늅늅은 보아라 [2] ㅎㅎ(119.71) 11.03.21 73 0
239386 아 시발 10일안에 .. 씨언어 왠만큼 마스터해야됨.. [5] 124(118.176) 11.03.21 118 0
239385 나는 가수다 골때리네.?? [3] 시불라미갤로그로 이동합니다. 11.03.21 80 0
239384 C++ cout에 대해 질문! 글 묻친거 같아 다시올림 ㅠ [5] C++시작(219.248) 11.03.21 111 0
239383 아 과제하다가 첼시vs맨시 볼기세네 아리햏갤로그로 이동합니다. 11.03.21 22 0
239380 전형적인 이과생인 나한테는 ㅇ..어려워 [2] 아리햏갤로그로 이동합니다. 11.03.21 73 0
239379 계산결과에 + - 부호 붙이는 건 어떻게 하나여 [12] 백호왕(118.32) 11.03.21 82 1
239377 소켓플밍 connect가 안됩미다! 늅이좀 도와주세요 [3] 으잌(115.137) 11.03.21 49 0
239376 그만자고 이것좀 봐봐 [6] 아리햏갤로그로 이동합니다. 11.03.21 73 0
239374 IT비전이 없..죠? [4] 지금은C언어갤로그로 이동합니다. 11.03.21 123 0
239373 C++ 맨처음 cout 질문! [3] C++시작(219.248) 11.03.21 64 0
239372 빅엔디안인지 리들 엔디안인지 리눅스에서 확인하는 코드를 짜야하는데... [5] 늅늅(182.208) 11.03.21 92 0
239371 C C++ C# 다 다른건가요? [1] 지금은C언어갤로그로 이동합니다. 11.03.21 65 0
239370 실행하면 바로 꺼지는 거 방지하기 [4] [성대아싸]갤로그로 이동합니다. 11.03.20 109 0
239369 java에서 int 스캔받는거랑 string 스캔받는거 다른가요? [2] 애드리브갤로그로 이동합니다. 11.03.20 54 0
239368 라인단위로 디버깅할땐 멀쩡하게 잘되는데 바로 실행하면 안되는 이유는 뭘까 [10] ㅇㅇ(119.71) 11.03.20 78 0
239367 [퍼 온 얘기] 프로그래머 남편의 우유 심부름 [3] 분당살람갤로그로 이동합니다. 11.03.20 473 0
239365 SQL 정말 기초적인 질문 (개발환경에 관한) [6] 노력하는초보갤로그로 이동합니다. 11.03.20 62 0
239362 난 사실 수학을 잘 못한다. [1] ㅎㅎ(119.71) 11.03.20 86 0
239361 씨언어 도움좀 주세요. [5] ㅇㅇ(118.32) 11.03.20 105 0
239360 ∫ 2t dt=t²+..횽 (n/2)-1번임 ? [3] 아리햏갤로그로 이동합니다. 11.03.20 38 0
239359 java 어디가 오류인가요? [3] 애드리브갤로그로 이동합니다. 11.03.20 38 0
239358 형님들 php db연결 완전 초보급인데 왜 안되지 ㅜㅜ 유리한추종자(120.50) 11.03.20 52 0
239357 확실히 내가 사람 보는 눈은 예리해... [1] 분당살람갤로그로 이동합니다. 11.03.20 58 0
239355 형들 C언어 ㅠㅠ 제발 도와줌요 ㅠㅠㅠㅠㅠ [10] 몽키훈갤로그로 이동합니다. 11.03.20 158 0
239354 아니 근데 숫자를 배열로 받는 발상을 도대체 어떻게 해야됨??? [9] ㅇㅇㅇ(219.249) 11.03.20 79 0
239353 조공으로 뭘 원하냐 ? 아리햏갤로그로 이동합니다. 11.03.20 68 0
239352 으.. 조회수도 변동업고 다 자냐 ? 아리햏갤로그로 이동합니다. 11.03.20 32 0
239351 너님들 중에 회식 가서 이런 경우 당한 사람 있냐? [3] 분당살람갤로그로 이동합니다. 11.03.20 82 0
239350 미안한데.. 다시 질문좀.. [4] 아리햏갤로그로 이동합니다. 11.03.20 58 0
239349 구글은 진짜 앙마야 헤헤 어슐러르귄갤로그로 이동합니다. 11.03.20 64 0
239348 한 페이지에 +가 몇개 ㅡㅡ [1] ㅎㅎ(119.71) 11.03.20 36 0
239346 이거 ㅅㅂ 연산자 우선순위부터가 개판이구만 [1] (175.205) 11.03.20 81 0
239345 아니 뭐 안드로이드 책에 다 처음에 무슨 에뮬레이터 설치같은것밖에 없음? [1] 단드로이드갤로그로 이동합니다. 11.03.20 53 0
239344 안드로이드 책중에 안드로이드 프로그래밍 정복 어때? [4] 단드로이드갤로그로 이동합니다. 11.03.20 112 0
239343 대학들 커리큘럼 다 줮병신인거 같다. [9] (115.136) 11.03.20 165 0
239342 헤헤 성님들 오늘 하루도 수고하셨습니다. [1] 어슐러르귄갤로그로 이동합니다. 11.03.20 47 0
239341 형들 부탁드립니다. 피보나치 순열 관련 연결리스트 만드는거.. [3] 나가요(121.124) 11.03.20 97 0
239339 아나 이거 도저희 이해가 안된다 형들 귀찬케해서미안해 [6] 아리햏갤로그로 이동합니다. 11.03.20 149 0
239338 c언어 c++보고 이제 자료구조 넘어가려고하는데.. [5] 124(118.176) 11.03.20 97 0
239337 (i++) + (++i) 최종 정리 [1] 단드로이드갤로그로 이동합니다. 11.03.20 165 0
239336 i++ + ++i 떡밥 그만좀 쳐물어 [8] ㅁㅁㅁㅁ(118.32) 11.03.20 74 0
239335 (i++) + (i) 가 사람 마다 다르게 나오는 이유 [10] Route갤로그로 이동합니다. 11.03.20 102 0
239334 님들 c 개 후잡 코든데 오류가 떠서 이유좀 알려주시면 감사하겠음;; [12] ㅇㅇ(118.32) 11.03.20 68 0
239333 아오.. ㅡㅡ; SODmaster갤로그로 이동합니다. 11.03.20 27 0
239332 전위연산자와 후위연산자 떡밥 [2] ㅎㅎ(119.71) 11.03.20 208 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2