보수

 컴퓨터는 더하는 기능만을 가지고 있는데 이때 뺄샘을 하기 위해 보수를 사용한다. 뺄샘을 하기 위해선 2의 보수를 피연산자에 더 해주면 되는데 아래는 그것을 간단한 프로그램이다.



값은 다음과 같다.

-128
-127
127

이것은 숫자 0 부터127까지를 양수, 숫자 128부터 255까지를 음수라 보게 되는데 이때 거꾸로 음수는 255를 -1 로 정의하고 128을 255라고 한다.  이렇게 하는 이유는 '부호 비트 방식'과 달리 2진법으로 계산했을 때 계산이 가능하기 때문이다. 간단한 계산을 살펴보자.

0000 0001
1111 1111 을 더한다고 본다면 이것은

  +1 
+ -1  과 같다 이것을 2진법으로 계산해서 본다면 캐리값이 일어나면서 맨 앞의 캐리값은 자동으로 버려지게 되면서 값은 아래와 같게 된다.

0000 0000 = 0


신고

부호 비트 저장 방식(Magnitute)

인간이 사용하는 부호 표시법에서 착안된 방법인 이 수의 표현방식은 1byte 즉, 8bit를 이용하여 수를 표기하는 방식으로서 맨 마지막 비트에 +, - 부호를 표시하여 수를 표현하려 했다.


부호위치

             

한 칸을 1bit로 표현했을 때 맨 앞칸의 값에 따라 양수와 음수로 나눌 수 있다.

최대 표현 숫자는 2^7 인 128(0~127) 이며 최소 표현값은 -127 이다. 예를 들어 살펴보자.

0000 0001 은 숫자 1 을 뜻한다. 맨 앞의 bit에 값 1을 주면 이것은
1000 0001 로서 -1을 뜻하게 된다.

이 저장 방식은 두가지 치명적인 문제가 있는데 이것은 아래의 계산에서 알 수 있다.

0000 0001 + 1000 0001 은 1 + -1 이지만 이것이 2진수 계산방식으로 계산되어 버리면 -2 가 되어 버린다. 이렇듯 산술에서 오류가 있기 때문에 이것은 정수 및 다른 수의 표현 방식에서는 쓸 수가 없지만, 지수 저장 방식에서 사용하게 되었다.


신고

'컴퓨터 언어 > C' 카테고리의 다른 글

메모리의 구성  (1) 2012.06.08
C의 함수 구조  (1) 2012.06.07
부호 비트 방식  (0) 2012.04.03
상수  (0) 2012.04.03
산술  (0) 2012.04.03
명령어 Printf 사용  (0) 2012.04.03

상수

컴퓨터 언어/C 2012.04.03 14:18

define 상수 사용방법

Define 은 전처리 명령어로서 어떠한 값에 주면 그 값은 상수로 기억하게 된다. 상수는 그 값이 변하지 않는 불변 값으로서 파이 값등을 정의할때 사용하면 된다.

신고

'컴퓨터 언어 > C' 카테고리의 다른 글

C의 함수 구조  (1) 2012.06.07
부호 비트 방식  (0) 2012.04.03
상수  (0) 2012.04.03
산술  (0) 2012.04.03
명령어 Printf 사용  (0) 2012.04.03
변수  (0) 2012.04.03