Number in Computer (컴퓨터에서의 수)

aisle333·2024년 4월 18일

컴퓨터 공학

목록 보기
6/19

Numeral System(수 체계)

Numeral system에서는 같은 digit(숫자기호)이라도 어느 자리에 놓여있느냐에 따라 크기가 다르며, 해당 자리에 따라 다른 크기는 base (or raidx)에 의해 결정된다.

Base R System ( R진법 )

은 Base를 의미하며 다음과 같이 표기된다.

위의 값(value)는 다음과 같다.

자주 상용되는 진수
R=10: 10진수

R=16: 16진수

R=8: 8진수

R=2: 2진수

수의 표현

컴퓨터에서는 대부분 base-2 system (이진수)를 이용하여 positive integer를 표시한다

컴퓨터는 2진수를 사용하지만, 인간에게 2진수는 너무 길고 읽기 어렵기 때문에, 기술문서 등에서는 2진수를 직접 기재하기보다는 2진수로 변환이 쉬우면서도
사람이 좀 더 읽기 쉬운 Hexadecimal Representaion (Hex)을 많이 사용 한다.
또는 Octal Representation(Oct, 8진수)로 표현하는 경우도 있지만, 주로 Hex로 표기된다. 2진수 표현에서 4자리씩 잘라서 처리(nible)하면 쉽게 Hex로 변환된다 (3자리씩 자르면, Oct).

2진수를 이용한 8진수 표현

2진수를 이용한 16진수 표현

변환표

음의 정수의 표현

Complement(보수): 기준수 A를 정했을 때, 임의의 수 m에 대한 complement m'은 A에서 m을 빼서 m'이 되는 수를 말함.(예를 들어 이진수의 경우, A=1이 됨.)

Sign and Magnitude(부호와 절대치)

  • MSB가 부호비트이고 나머지 비트는 양수비트의 값과 같다
  • Sign and Magnitude는 단점으로 +0과 -0의 표현이 각각 존재하게 된다. (같은 수이니 하나로 표현되어야 하는데 2개의 다른 표현형이 존재함.) 또한 logic operation으로 arithmetic operation을 구현하기 쉽지 않음.

1's Complement (1의 보수)

  • positive inteager표현에서 모든 bit에 NOT연산을 취함으로서 대응되는 negative inteager를 구하는 방법이다.
  • 단점으로 +0과 -0의 표현이 각각 존재하게 된다

2's Complement (2의 보수)

  • 1's complment을 구하고 여기에 1을 더한 값이다.

  • +0과 -0의 표현이 하나이기 때문에 하나의 표현을 더 가진다.

    1워드가 r비트인 경우, 정수 표현 범위
    부호와 절댓값 표현: -2^r - 1~ 2^r + 1
    1의보수: -2^r - 1~ 2^r + 1
    2의보수:: -2^r ~ 2^r + 1

수의 연산

subtraction(뺄셈)

1's complement와 2's complement의 경우, 덧셈만으로 뺄셈의 구현이 가능하다.
a에서 b를 뺀다 할때 b를 빼는게 아닌 -b를 더하는 것으로 연산하면 b에 보수를 취하여 더하면 값이 나온다.

여기서 1's complement와 2's complement 사이에 차이가 있는데
1's complement
해당 MSB에서 carry out 을 LSB에 더해주어야 한다.
2's complement
해당 MSB에서 carry out 을 뺀 값 그대로다.

Overflow

처리가능한 범위를 넘어서는 연산 결과가 발생하는 경우를 가르킨다. computer에서 overflow 발생시 condition code register(CCR)의 overflow에 해당하는 bit가 1로 설정된다. 즉 MSB에서 발생한 carry 값이 바로 overflow bit임

Overflow가 발생하는 연산의 예

MSB비트에서 올라온 발생한 올림값과 MSB+1비트에서 올라온 값이 다르면 Overflow

Underflow

처리가능한 범위보다 작은 연산 결과가 발생하는 경우.

Underflow연산의 예

0개의 댓글