반응형
Recent Posts
Recent Comments
Link
관리 메뉴

공머씨의 블로그

내가 공부한 논리회로 5. Number system 3(수 체계-conversion between Number) 본문

내가 공부한 3학기 전공/내가 공부한 논리회로 설계

내가 공부한 논리회로 5. Number system 3(수 체계-conversion between Number)

공머씨 2020. 3. 27. 18:55
반응형

저번 시간까지는 

아래 그림과 같은것들을을 공부했습니다.

 

 

 

아래 그림을 보면 지금까지 어떠한 것들을 공부했는지 직관적으로 이해하기 쉬울 것입니다. 

회색 화살표는 공부했던 것들이고 이번에는 빨간 화살표 부분을 공부하게 됩니다.

10진수를 2,8,16진수로 바꾸는 방법을 공부하면 Conversion between Number부분은 끝이 납니다.

p.s Conserversion between Number부분을 끝내고 나서는 2,8,16진수 각각의 더하기 빼기 곱하기 나누기에 대해서 공부합니다. 이들도 마찬가지로 '꽉 찬 수'의 개념과 (내공 논 참고) 십진수의 사칙연산을 할 줄 안다면 금방 알 수 있는 것들입니다.

 

 

 

 

 

 

 

 

 

F보다 큰 숫자는? 자릿수가 올라가니까 10이 됩니다.

십진수로 10을 16진수에서 10이라고 표기하지 않고 A를 사용하는 이유입니다.

10진수의 변환 규칙은 다음과 같습니다. 

정수의 변환: successive division :연속적인 나누기

successive는 '연속적인'이라는 뜻을 가지고 있습니다.

소수의 변환: successive multiplication : 연속적인 곱하기

위 의미가 무엇인지는 10진수를 다른 진수로 변환해보면서 알게 될 것입니다.

 


9. 10진수를 2진수로 변환하기

10진수-아래 그림 17.625를 2진수로 변환하여보자.

17을 이진수로 변환하고

0.625를 이진수로 변환하면 됩니다.

17은 어떻게 이진수로 바꾸는가? 연속적인 나누기로

0.625를 어떻게 이진수로 변환하는가?  연속적인 곱하기로

 

먼저 17을 이진수로 바꾸는 것부터 해보겠습니다.

17을  2로 나눕니다. 나머지를 옆에 적습니다. 

아래 그림과 같은 형식으로 적어주면 됩니다.

 

 

그런데 8도 2로 누어지죠?

아래 그림과 같이 계속 나누어 주면 되는 것입니다. 그래서 연속적인 나누기라고 한 것입니다.

나눈 다음에 어떻게 하느냐..

 

 

나머지를 밑에서부터 위로 읽으면 됩니다.

맨 마지막에 있는 몫이 MSB가 되므로 왼쪽부터 차례대로 작성하면 되는 것입니다.

(MSB에서 LSB로 읽으면 됩니다.)

따라서 십진수 17을 이진수로 나타내면 10001이 됩니다.

 

다음 소수 부분 0.625를 이진수로 나타내 보겠습니다. 

0.625에 2를 계속 곱합니다. 언제까지? 1.0이 될 때까지

1이 넘을 땐 어떻게 하느냐...????????

 소수점 왼쪽 자릿수를 없애주고 소수점 오른쪽 자릿수에 2를 연속적으로 곱해주면 됩니다.

그래서 연속적인 곱하기라고 한 것입니다.

아래 그림과 같이 곱셈을 하시면 됩니다.

 

정수 부분에서 와는 다르게 위에서부터 아래로 MSB에서 LSB가 됩니다.

소수 부분에서는 소수점 바로 아래 자리가 MSB이므로입니다.

십진수 0.625를 16진수로 나타내면 0.101이 됩니다.

 

 

 

 

 

 

문제:십진수 41.6875를 이진수로 바꾸어보시오..

직접 해보시기 바랍니다.

풀이:

정수 부분인 41을 이진수로 바꾸면 아래와 같이 변환됩니다.

 

 

 

 

101001 이 됩니다.

소수 부분인 0.6875를 이진수로 바꾸면 아래와 같이 변환됩니다.

 

 

0.1011이 됩니다.

 

successive division과

successive multiplication 방법을 사용하여  십진수 41.6875는 101001.1011로 나왔습니다.

이걸 거꾸로 검산해볼 수도 있겠습니다.

101001.1011을 아래 그림과 같이 다시 십진수로 바꾸어 보겠습니다.

 

 

10. 10진수를 8진수로 변환하기

 

따라서 십진수 153은 8진수로 231이 됩니다.

 

 

Q 십진수 207.32를 8진수로 변환해보시오.

직접 해보고 답을 확인해보시기 바랍니다.

 

 

 

 

 

 

 

정수 부분 207을 8진수로 고치면 아래와 같습니다.

 

 

 

 

소수 부분 0.32를 8진수로 고치면 아래와 같습니다.

위와 같이 무한소수가 됩니다. 소수점 맨 오른쪽 자리 숫자가 5가 되어야 언젠가 소수점 아래 모든 자리 숫자가 0이 될 텐데 말이죠...

따라서 위와 같이 소수점 맨 오른쪽 자릿수가 5가 아닌 경우에는 문제에서 소수점 아래 N번째 자리 숫자까지 구하여라.

라고 제시해주신다고 합니다.

 

십진수는 0 1 2 3 4 일때 반내림하고  5 6 7 8 9에서 올림 하는데 

8진수는 반이 0 1 2 3     4 5 6 7 이기 때문에 반올림하라고 하면 3에서까지는 내림 4에서부터는 올림을 해야 합니다.

 

 


11. 10진수를 16진수로 변환하기

정수 부분

 

 

소수 부분

 

십진수로 253.40625는 16진수로 FD.68 이 됩니다.

 

 

 

 

검증을 하고 싶다면 R진법 공식을 이용해 16진수를 10진수로 변환해보면 되겠습니다.

다음 그림과 같습니다.

 

Q: 207.32를 16진수로 변환하시오.

(소수점 아래 셋째 자리에서 반올림하시오)

 

16진수의 경우

0 1 2 3 4 5 6 7 8 9 A B C  로 구성되어있기 때문에 

8에서 반올림이 일어납니다.


총정리 문제

Q 369.3125를 2,8,16 진수로 각각 변환하는 과정입니다.

 

2진수로 

 

 

 

8진수로

 

16진수로 변환하여라.

 

 

 

지금 까지고 공부한 변환법.

 

 

 

반응형
Comments