[WHS] 컴퓨터구조 일부분
각 타입(ex. int , char 등등)들은 바이트수에 따라서 각각의 크기들을 가지고 있다.
(크기 : 바이트단위)
데이터타입들은 다 컴퓨터가 해석하기 위해서 이진수로 해석이 되어진다.
char 자료형(1바이트 = 8비트)을 그림으로 표현하자면
char 자료형(1바이트 = 8비트)을 그림으로 표현하자면
예를들어 10을 이진법으로 표현하면 1010으로 표현되어진다.
-와 +를 표현하기 위해서 컴퓨터는 마지막의 비트자리를 +/-를 구분하는 비트로 정한다.
이런식으로 구현할 수 있다.
그 다음으로 C언어는 컴퓨터가 해석할 수 있도록 해주는 작업이 필요하다.
그것은 컴파일이라는 작업이 필요하다.
-와 +를 표현하기 위해서 컴퓨터는 마지막의 비트자리를 +/-를 구분하는 비트로 정한다.
최솟값(즉 char이 -128)인 값에서 -1을 하게되면 어떻게 될까?
이러한 현상을 언더플로우라고 부른다.
(반대로 최댓값에서 +1 한것을 오버플로우라고 부른다.)
그래서 이러한 불상사가 발생하지않도록 값을 넘을 수 있는 상호작용들이 있는지 점검해봐야한다.
그리고 이런 특별한 구조는 각 비트들을 껏다 켰다 하면서 숫자를 바꿀 수 있다.
(여기서 +/-를 구분하는 비트도 숫자를 표현하는 비트로 생각한다)
10을 예시로 설명해보면 아까도 말했듯이 1010으로 표현할 수 있다.
여기에 대해서 두번째의 비트를 끄고 싶은 경우에 다른 방에 두번째 비트를 켜준다.
여기에 대해서 두번째의 비트를 끄고 싶은 경우에 다른 방에 두번째 비트를 켜준다.
그 다음으로 C언어는 컴퓨터가 해석할 수 있도록 해주는 작업이 필요하다.
그것은 컴파일이라는 작업이 필요하다.
다음에 나올 코드들을 컴파일 하려한다.
아래에 나와있는 코드를 컴파일하기전에 먼저 전처리과정을 통해 .i파일을 만들어주어야 한다.
댓글
댓글 쓰기