1

나는이 질문에 마주 쳤고 교과서 나 인터넷에서 찾을 수 없었다. 꽤 독창적 인 것 같습니다.해밍 거리를 계산하는 회로 설계?

필자는 일부 비교기와 덧셈기가 관련되어있을 것이라고 추측하지만 시작해야 할 단서가 없습니다.

+0

프로그래밍 질문이 아닙니다. http://electronics.stackexchange.com을 시도해보십시오. –

+1

회로는 두 코드 워드가 다른 비트 위치의 수를 계산해야합니다. 기술적으로 이것은 카운터 회로와 결합 된 두 단어의 비트 현명한 해석입니다. 비트 수는 [관련 게시물] (http://stackoverflow.com/questions/3815165/how-to-implement-bitcount-using-only-bitwiseoperator)에 설명되어 있습니다. 설명 된 계산을 회로에 매핑하는 것이 쉽습니다. –

+0

프로그래밍이나 소프트웨어 개발 대신 회로 설계에 관한 주제이기 때문에이 질문을 주제로 끝내기로했습니다. – Pang

답변

0

첫 번째 단계는 의심의 여지없이 두 비트 세트를 XORing합니다. 그런 다음 출력에서 ​​논리적 인 수의 수를 계산해야합니다. 회로를 설계하는 가장 좋은 방법은 this question에서 논의 된 해킹의 완전한 비유를 작성하고 nneonneo가 자사의 answer에서 완벽하게 설명하는 것입니다. 이는 순차 계산에 의존하기보다는 최적의 트리 합계가 될 것입니다. 아이디어는 각 레이어에서 입력 하위 집합의 가능한 최대 합계를 제한하는 방법과 캐리 비트의 필요성을 제거하는 데 필요한 비트 수를 알 수 있다는 것입니다. 프로그래밍 방식은 32 비트 용으로 설계되었지만 그보다 작거나 더 쉽게 수정할 수 있습니다.

해밍 무게를 계산하는 알고리즘에 대한 자세한 내용은 this link을 참조하십시오.

관련 문제