2010-05-06 3 views
0

2 진수 자릿수 (2 진수 표현)에서 2로 나눗셈을 수행하려면 어떻게해야합니까? 이동이 올바르게 작동하지 않습니까?2 진수로 2를 나눈 부호있는 숫자 (중복 이진 표현)

+0

대상 아키텍처는 무엇입니까? ASIC? FPGA? 소프트웨어를 사용할 수 있습니까? 귀하의 * 특정 * RBR에 대해서도 더 자세히 알려주십시오. –

답변

0

중복 이진 표현 양식의 단순한 표현 다음 d_i 년대 단지 {0,1}보다 크게 설정에서 작성한

\sum_{i=0}^n d_i 2^n 

.

2로 나누면 또는 오른쪽으로 이동은

\sum_{i=0}^{n-1} d_{i+1} 2^n + f(d_0) 

에 트릭이 d_0의 중복 표현에 대한 조정을 처리하는 방법에 온다합니다.

당신의 RBR은 숫자 형태 {0,1,2}가 있고 그 다음 이렇게 f(0) = 0는, f(1) = 0f(2) = 1 작동합니다, 보상 결과에 1을 추가해야합니다 최하위 자리에 대한이있는 경우.

  • 4 = 12_base2

    때문에 12_base2 >> 1 = 1 + f(2)1 + 1 = = = 2_base22 예상.
  • 6 = 102_base2, 그래서 102_base2 >> 1 = 10_base2 + f(2) = 11_base2 =
  • 3

당신은 f(-1) = -1을 설정하여 ({-1,0,1}에서 d_i에 즉) 서명 중복 바이너리 표현 비슷한 무언가를 얻을 수 있습니다.

  • 1 = 1(-1)_base2, 그래서 1(-1)_base2 >> 1 = 1 + f(-1) = 1 - 1 =

0 그래서 궁극적으로는 단지 이동의 순진한 접근 방법은, 당신은 단지 이동 숫자의 중복 인코딩을 설명하기 위해 퍼지 요인 작업이 필요 없습니다.

선택한 RBR에 더 많은 옵션이 포함되어있는 경우 그에 따라 퍼지 인수를 조정해야합니다.