Page 38 - 컴퓨터구조(프로그래밍 관점에서 바라보는)도서 미리보기
P. 38
32 PART 1? 논리 회로 관점에서의 컴퓨터 구조
2.3.4? 부호없는 정수(unsigned integer: 0과 자연수)
이제까지는 진법과 2진수 이제부터 본격적으로 정수의 표현 방법에 대해서 알아보자.
에 대한 이야기를 했었다.
이제부터는 본격적으로 컴 일반적으로 정수라고 하면, 자연수(natural number, 양의 정수)와 ‘0’, 그리
퓨터 내부에서 2진수를 통 고 음의 정수(-1, -2, -3, …)로 구성된 수 집합을 의미한다. 그 의미는 컴
해서 숫자를 어떻게 표현하 퓨터에서도 동일하다. 그러나 내부적으로 2진수 비트들을 이용해서 표현하
는지 살펴보자. 기 때문에 표현 방법이 조금 독특하다.
변수의 타입에 대한 자세 컴퓨터에서 프로그래밍을 할 때는 프로그래밍 언어에서 제공해주는 다양
한 설명은 각 프로그래밍 한 자료형(data types)에 따라 다양한 크기(길이)의 비트 수를 사용할 수 있
언어에서 제공하는 자료 게 된다. 정수(integer) 표현을 위해서 C 언어에서는 4바이트를 사용하는
형(data type)을 참조하 ‘integer 형’의 변수를 사용하는데, 4바이트(32비트)를 사용하기 때문에, 그
기 바란다. 일반적으로 많 에 따라 표현할 수 있는 최대 크기의 숫자가 제한 받을 수 밖에 없다는 한
이 사용하는 C/C++ 프로 계가 있다.
그래밍 언어에서 사용하는
자료형 중에서, ‘unsigned 자료형 최소 크기 값의 범위
integer’는 ‘부호없는 정수’ char 1 바이트(8비트)
를 ‘integer’는 ‘부호있는 int 4바이트(32비트) A~Z, a~z, 0~9, 기타 심볼들.
정수’를 의미한다. ‘a’, ‘b’ 등 작은 따옴표로 표시
숫자 값으로는 -128 ~ +127
실제로는 각 자료형의 크기
는 컴파일러에 따라서 조금 -2,147,483,648 ~ +2,147,483,647
씩 달라질 수도 있다. C 표
준안에는 각 자료형이 가져 본 교재에서는 8비트로 구성된 간단한 경우의 정수를 이용하여 설명한다.
야 하는 ‘최소한’의 크기로 이는 설명의 편이를 위한 것이며 비트 수가 많아지더라도 기본적인 원리는
명시되어 있기 때문이다. 자 동일하다.
료형의 정확한 크기는 컴퓨
터와 컴파일러의 환경에 따 정수는 ‘부호없는 정수’(unsigned integer: 0 또는 양의 정수)와 ‘부호있는
라 이 최소 크기보다 더 커 정수’(signed integer)로 나눌 수 있다. 아래의 표와 같이 C 언어에서 사용
질 수도 있다. 하는 unsigned integer 타입은 말 그대로 부호를 생략한다. 이 말은 부호
가 없다는 말로써, 표현할 수 있는 모든 숫자는 0 또는 양의 정수만을 의미
char 형도 C 언어에서는 내 한다(음수를 표현할 수 없다). 이 경우에는 사용되는 8비트가 모두 숫자의
부적으로는 숫자로 표현되 ‘절대값’을 표현하는 방식이다.
기 때문에, char 형도 숫자
로 사용할 수 있다.
우리가 초등학교에 들어가
서 처음 배우는 숫자에 보
통 음수는 포함되어 있지
않다. 그 당시에는 직관적
으로 눈에 보이는 사물의
개수를 세는 것이 주된 숫
자 공부의 목적이기 때문에
음수는 고려할 필요가 없었
던 것이다.