10진수
일상적으로 수를 셀 때에는 0부터9까지 10개의 기호로 표현하는 10진수를 사용한다.
2진수
다이오드와 트랜지스터같은 반도체가 발명되면서 전류의 유무에 따라 0과1을 표현하게 되었다. 데이터나 신호의 유무를 판단하는데 적합하다.
8/16진수
2진수를 3자리씩 끊으면 8진수로 표현할 수 있으며, 4자리씩 끊으면 16진수로 표현할 수 있다.
진법 변환
1. 10진수-2진수 변환
10진수 정수 부분을 2진수로 변환할 때는 2를 나누고 그 나머지를 나열하면 2진수가 된다.
2. 10진수-8진수 변환
진법 변환 방법은 모든 진법에서 동일하게 적용된다.
3. 10진수-16진수 변환
진법 변환 방법은 모든 진법에서 동일하게 적용된다.
2진수 정수 연산과 변수
2진수 양의 정수 덧셈
10진수와 마찬가지로 두 수를 더하면 된다. 10진수에서는 해당하는 자릿수의 두수를 더하여 결과가 10이상인 수가 발생하면 윗자리로 자리올림(carry)하여 더한다. 2진수도 동일.
2진수 음의 정수 표현과 보수
+,-부호도 0이나1 둘중 하나로 나타내야 한다. 컴퓨터에서는 부호비트(sign bit)를 이용하여 양수를 0으로 음수를 1로 표시한다. 모든 경우에 부호비트는 최상위비트(MSB)에 나타낸다.
2진 음수를 표시하는 방법3가지 : 부호와 절대치, 1의 보수, 2의 보수
부호와 절대치 표현은 컴퓨터 연산에 사용하기에는 적합하지 않기 때문에 보수를 이용한다. 1의보수는 쉽게 설명하면 각 자릿수의 값이 0이면1 , 1이면0으로 바꾼 결과다.
먼저 보수의 원리를 알아보자. 모든 진법에는 2가지의 보수가 있는데 만약 r진법이면 r의보수와 r-1의 보수가 있다. 즉,10진법에는 10의보수와 9의보수가 있다. 어떤수 x를 n자리 r진법으로 표시했을때 보수를 나타내는 방법은 다음과 같다.
- r진법 n자릿수 x의 r의 보수 : r**n -x
- r진법 n자릿수 x의 r-1의 보수 : r**n-1-x
예를 들어, 3자리 10진수 567의 9의 보수는 10**3-1-567 = 999-567=432이다.
모든 컴퓨터에서는 2의보수를 사용하므로 2의 보수에대해서는 반드시 알고 있어야한다. 보수를 사용하는 이유는 음수를 표현하기 위해서이다. 양수의 보수는 음수가 되고 음수의 보수는 양수가 된다. 보수를 취하면 그 절댓값은 같지만 부호는 반대다. 실제 컴퓨터 하드웨어에는 뺄셈 회로가 없고 보수를 취하는 회로만 존재한다.
10진수 83을 8비트 2진수로 나타내고 2의 보수를 만들어 보자.
01010011(2)이며 1의 보수로 바꾸면 10101100(2)이다. 1의 보수에서 1을 더하면 2의 보수가 되므로 10101100(2)+1 = 10101101(2)는 83의 음수인 -83이다. 반대로 -83 = 10101101(2)을 2의 보수로 바꾸면 01010010(2)+1 = 01010011 = 83이다. 여기 한가지 주의할 점은 보수를 취할때 정해진 크기의 비트수로 맞춰져야한다. 보통 8,16,32,64비트로 맞춘다. 자릿수를 맞추는 이유는 최상위비트(MSB)가 부호비트이며,2의 보수로 나타냈을 때 같은 종류의 데이터는 항상 같은 위치에 부호를 위치시키려는 목적뿐아니라, 컴퓨터내부에 저장되는 동일한 종류의 데이터의 비트수는 항상 같기 때문이다.
2진 부동소수점수의 표현
컴퓨터에서는 2진 부동소수점수를 표현할때 과학적인 표기 방식을 사용한다. 부동소수점수는 부호(sign)와 지수(exponent) 및 가수(mantissa) 세 영역으로 나뉜다. 부호는 전체 수가 양수인지 음수인지 표시하고, 지수는 2의 지수,가수는 소수 이하 부분을 표시한다.
부동소수점수는 표현 범위에 따라서 단정도(single precision) , 배정도(double precision) 부동소수점수 등의 표현 방법이 있다.
'Computer Architecture > 논리회로' 카테고리의 다른 글
[5] CH7 조합논리회로 < 가산기 , 비교기 > (0) | 2021.11.16 |
---|---|
[4] CH6 논리식의 간소화 (0) | 2021.11.16 |
[3] CH5 불 대수 (0) | 2021.11.08 |
[2] CH4 논리 게이트 (0) | 2021.11.07 |
[1] CH3 디지털 코드 (2) | 2021.11.07 |
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!