관리 메뉴

도드넷

정보처리기능사 실기 기출유형#10 - 음의 이진수 십진법 변환. 본문

창고/정보처리기능사[완]

정보처리기능사 실기 기출유형#10 - 음의 이진수 십진법 변환.

도드! 2016. 5. 11. 09:04
반응형




She loves folks smiling and sayin howdydo :3


정보처리기능사 실기 기출유형#10 - 음의 이진수 십진법 변환하는 방법


1. 음의 이진수
- 음의 이진수는 맨앞 비트를 "부호 비트 1"로 잡고 있는 경우가 많다.


2. 음의 이진수 십진수 변환하는 방법

- 부호비트제외 그 다음 비트 부터시작해서 10진수로 변환하고 

- [해당 비트의 2진수가 가질 수 있는 10진 최대값 - 변환된 십진수]를 해준다. ★

- 이후 위의 수를 음수를 취하면 된다.


3. 10진수 변환하는 방법 (복습)

- 자리의수 x 2^(자릿수-1)의 누적총합.

- 주의할점은 양음이 들어간 이진수일경우 맨앞비트는 부호비트로 사용하므로 인덱스는 2부터 시작해야 함을 고려한다. 만약 A(8) 짜리 8비트라면, 맨앞자리는 배열 인덱스 2를 사용하고 7번째 자릿수이므로 연산시 (자릿수-1)에는 6이 들어가야한다. 고로 인덱스를 이용하는 반복문에서 자리의수 x 2^(8-인덱스)의 누적합으로 코드를 설계하면 된다.


A(1)  A(2)  A(3)  A(4)  A(5)  A(6)  A(7)  A(8) 

부호 7자리 6자리 5자리 4자리 3자리 2자리 1자리


이처럼 맨앞 비트는 기능성 부호비트로 연산에서 수로써 고려하지 않는다.


* 해당비트의 2진수가 가질 수 있는 10진 최대값?

- N비트 이진수 -> 2^N을 십진 최대값으로 가질 수 있음.

- 8비트이면 2^8, 16비트면 2^16 해주면 해당 비트 이진수가 가질 수 있는 최대 10진값이 나온다.

- 예를 들어 2비트라고 하면 []  [] 이처럼 이진수를 넣을 수 있는 두 칸이 있다는 건데 최대값은 당연히 1 두개 넣은 2^2 4이다. 










반응형
Comments