10진수 2진수 변환법
다른 진수 변환도 이 방법과 동일하다.
정수부분은 위와 같이 계산한다.
0으로 나누어 떨어 질 때 까지 계산하며, 나머지 아래에서 위로 순서대로 적어주면 2진수로 변환이 된다.
소수부분이 0이 될 때까지 변환하려는 진수로 곱해준다.
그러고나서 소수부분이 0이되면 위에서부터 아래로 적어주면 2진수로 변환이 되는 것이다.
맨 윗 부분은 정수 0을 나타내는 것이므로 소수부분에 적지않는다.
진수 계산 할 때
2진수 정수부분은 2² 2³
2*2, 2*2*2 이런식으로 계산하고
2진수 소수부분은 ½ ¼
1/2, 1/(2*2) 이렇게 계산한다.
계산법은 8진수 16진수도 동일하다
2진수를 4진수, 8진수, 16진수로 변환하는 방법은
4진수로 변환할 땐 2개씩 묶는다.
8진수로 변환할 땐 3개씩 묶는다.
16진수로 변환할 땐 4개씩 묶는다.
뒤에서부터 차근차근 묶어주는 것이 핵심이다.
묶어주고 해당하는 진수의 가중치를 적용한다.
2 ) 보수(complement)
r진수 N은 r의 보수(r's complement)와 (r - 1)의 보수(r - 1's complement) 두 가지 보수가 있다.
예를 들어, 2진수에는 2의 보수와 1의 보수가 있고, 10진수에는 10의 보수와 9의 보수가 있다.
보수는 보충하는 수의 약자이다.(굳이 따지면.)
r의 보수
(식 ) rⁿ - N, N ≠ 0
0, N = 0
정수부분이 n개의 자리로 구성됐을 때 r의 n제곱에서 보수를 구해야하는 수를 빼주면 된다.
예를 들어, 10진수 35.34의 10의 보수는 10² - 35.34 = 64.66이고,
2진수 110111(10진수로 55이다.) 2의 보수는 2의 6승 - (110111) = (1000000 - 110111) = 001001이다.
(r-1)의 보수
(공식) 1의 보수를 구하는 방법은 2진수는 비트를 반전시키면 된다.
2의 보수는 1의 보수에 1을 더한 것과 같다.
정확한 공식은
N에 대한 (r-1)의 보수는 = r^n - r^-m - N이다.
예를 들어 10진수 35.34의 9의 보수를 구하시오라는 문제가 주어졌을 때,
공식을 적용하면 아래와 같다.
10^2 - 10^-3 - 35.34
100 - 0.001(1/1000) - 35.34 = 99.999 - 35.34 = 64.659
10진수 35.34의 9의 보수는 64.659라고 볼 수 있다.
보수를 이용한 감산과 부호있는 2진수, 부동소수점 표현방법은 다음에 시간이 되면 다루도록 하겠다.
'컴퓨터과학 > 디지털 논리회로' 카테고리의 다른 글
3. 논리게이트와 부울 대수 (0) | 2019.04.13 |
---|---|
제 2장 데이터 표현(수정) (0) | 2019.03.18 |
1-2장. 집적회로와 특성 그리고 양논리와 음논리 (0) | 2019.03.13 |
제 1장 디지털 컴퓨터와 디지털 논리회로 (0) | 2019.03.12 |
디지털 논리 개관 (0) | 2019.03.12 |