필자가 작성한 알고리즘의 일부로 10 비트 단어를 고유 한 8 비트 단어로 변환하는 방법을 찾아야합니다. 10 비트 워드는 5 쌍으로 구성되며 각 쌍은 0, 1 또는 2 (절대 3)가 될 수 있습니다. 예 :10 비트 값을 고유 바이트로 통합
|00|10|00|01|10|
이 값은 어떻게 든 고유 한 단일 바이트로 통합되어야합니다.
각 쌍이 결코 3과 같을 수는 없으므로이 10 비트 단어가 절대 나타내지 않는 값의 범위가 넓어서이 변환을 수행하는 알고리즘을 만들 수 있다고 생각합니다. 이를 수행하는 가장 간단한 방법은 조회 테이블을 사용하는 것이지만 내 프로그램에서 한 번만 사용되는 680 개의 값을 저장하는 데 리소스가 낭비되는 것처럼 보입니다. 나는 이미 쌍 중 하나를 다른 사람들과 어떻게 든 통합하려고 시도했지만, 내가 만든 모든 시도는 고유하지 않은 가치를 가져 왔고, 이제는 아이디어가 매우 빨리 없어지고 있습니다!
어떤 도움이 필요합니까?
네, 물론입니다. 나는 이것을 마이크로 컨트롤러에 프로그래밍하고 있으므로 저장할 수있는 모든 공간이 필요합니다 !! –
허프만 코딩을 시도하십시오 - http://en.wikipedia.org/wiki/Huffman_coding –