2015-01-07 10 views
0

계산을 위해 Decimal Output125 * A - 100 * (A Mod 4) + 2이고 A가 (one BCD digit) 다음 중 어느 것이 참입니까?BCD 덧셈기와 십진수 출력

1) 적어도 두 개의 십진법 가산기가 필요합니다.

2) 2 개 이상의 4 비트 2 진 가산기가 필요합니다.

3) 적어도 하나의 10 진수 승수와 하나의 십진법 가산기가 필요합니다.

4) 위 내용 중 해당 사항 없음.

강사가 해결책으로 (4)을 선택하고 선택하지 않은 이유는 무엇입니까? (3)? 어떤 생각이나 힌트?

덕분에.

답변

0

A Mod 4은 원래 방정식에서 BCD 숫자의 두 개의 최하위 비트를 제공합니다. 그래서, 지금처럼 별도의 두 대부분 최하위 비트를 살펴 보자 :

X = A AND 3 = A Mod 4 (two least significant bits) 
Y = A AND Ch   (two most significant bits) 

Chh 접미사가 16 진수로 C (즉 Ch 바이너리에서 1100이다), 그리고 AND 논리를 표시 수단 곳 조작. 우리가 a, b, cd 임의의 이진수는

A = abcd 

, 우리는 중요한

X = 00cd 
Y = ab00 

을 얻을 것이라고했다 예를 들어

은 참고

A = X + Y 
(ab00 + 00cd = abcd) 

이렇게하면 그래서, 우리는 최종 방정식 100 * Y + 25 * A + 2에서

125 * A - 100 * (A Mod 4) + 2  (original equation) 
= 125 * (X + Y) - 100 * X + 2  (replace A with X + Y) 
= 125 * Y + 125 * X - 100 * X + 2 (distributivity) 
= 125 * Y + 25 * X + 2    (125 * X - 100 * X = 25 * X) 
= 100 * Y + 25 * (X + Y)   (125 * Y = 100 * Y + 25 * Y) 
= 100 * Y + 25 * A + 2    (replace X + Y with A) 

이 특히 추가를 통해

125 * A 
= 125 * (X + Y) 
= 125 * X + 125 * Y 

를 곱셈의 분배 법칙을 적용, 두 용어, 우리는 (100 * Y25 * A)를 계산 할 필요가있다 플러스 하나의 상수 용어 (2).

100 * Y이라는 용어는 BCD에서 쉽습니다. Y 왼쪽에서 두 자리 숫자, 수백 자리로 시프트하십시오. 25 * A 용어를 들어

, 우리는 우리가 함께 세 가지 조건을 추가해야하는 곱셈기 지금 25

에 의해 A를 곱해야하지만 :

  • 이 설정 비트 사이에 중복이 없다 ("1"비트)를 100 * Y25 * A으로 표시합니다.사실 100 * Y이라는 용어는 백 자리의 두 최상위 비트 (Y의 정의로 되돌아 간다)를 설정할 수 있으며, 25 * A이라는 용어는 최대로 동일한 자리 위치의 두 개의 최하위 비트를 설정합니다. 이를 확인하려면 25 * A = 100 * A/4을 기억하십시오. 즉, 수백 자릿수는 해당 용어에 대해 3을 초과 할 수 없습니다.
  • 두 단어 모두 100 * Y25 * A은 25의 배수이므로 합계가 더 작음을 의미하므로 합계의 하위 자리는 0 (0000) 또는 5 (0101) 일 수 있습니다. 두 번째 비트는 그 합계로 설정할 수 없으므로 상수 2 용어와 겹치지 않습니다.

어떤 비트 위치를 설정할 수 있는지 고려할 때 세 용어가 모두 겹치지 않으므로 실제 가산기 대신 간단한 논리 OR 연산으로 세 비트를 모두 추가 할 수 있습니다.

실제로 우리가 해본 결과, 가중치가 필요하지 않았기 때문에 4)가 유일한 답입니다.

+0

처음 세 줄에 대한 자세한 내용을 추가 하시겠습니까? 나는 그것을 얻을 수 있었다! –

+0

@ user4249446이 답변으로 돌아 오기까지 오래 동안 사과 드려 죄송합니다. 처음에는 실제로 개선이 필요했고, 여전히 유용 할 것으로 기대하면서이를 수정했습니다. 검토하고 다른 것이 명확하지 않은지 물어 보는 것을 주저하지 마십시오. –

+0

정말 고마워. 인정해. X = A와 3 = A 모드 4 (낮은 부분), Y = A와 Ch = A - MOD 4 (높은 부분)에 대해 좀 더 설명 해주시겠습니까? 정말 고마워. –