มีลักษณะทั่วไปของการเข้ารหัส Huffman การเข้ารหัสทางคณิตศาสตร์หรือไม่
ในความพยายามที่จะเข้าใจความสัมพันธ์ระหว่าง Huffman Coding, เลขคณิต Coding และช่วงการเข้ารหัสที่ฉันเริ่มที่จะคิดว่าข้อบกพร่องของ Huffman การเข้ารหัสจะเกี่ยวข้องกับปัญหาของเศษส่วนบิตบรรจุ นั่นคือสมมติว่าคุณมี 240 ค่าที่เป็นไปได้สำหรับสัญลักษณ์และจำเป็นต้องเข้ารหัสนี้เป็นบิตคุณจะติดกับ 8 บิตต่อสัญลักษณ์แม้ว่าคุณไม่ต้องการ "เต็ม" 8 เนื่องจาก 8 สามารถแสดง 256 ค่าที่เป็นไปได้ ต่อสัญลักษณ์ วิธีแก้ปัญหานี้คือสิ่งที่ฉันเคยเห็นเรียกว่า "การบรรจุบิตเศษส่วน" ซึ่งคุณสามารถ "bitshift" โดยไม่ใช้กำลังสองโดยใช้การคูณ เช่นเดียวกับการเพิ่มทวีคูณของ powers-of-two x * 2 == x << 1และx * 4 == x << 2สำหรับพลังทั้งหมดของสองดังนั้นคุณสามารถ "shift" ด้วย non-power-of-2 โดยการคูณแทนและแพ็คในสัญลักษณ์เศษส่วนขนาดบิต . ปัญหาคล้ายกับการเข้ารหัส Huffman: คุณต้องจบด้วยรหัสที่ต้องมีความยาวไม่เป็นเศษส่วนขนาดบิตดังนั้นจึงมีการบรรจุที่ไม่มีประสิทธิภาพ อย่างไรก็ตามคุณไม่สามารถใช้โซลูชันของ …