我有一個編碼方案,但我不知道它的名稱。我知道必須有一種演算法將整數編碼/解碼為這個二進制方案。方案如下:
1 2 3 4 5 6 7 8 9 etc.
0 - 0 0 00 00 00 00 000 000
1 1 10 01 01 01 010 001 001
2 11 10 10 100 011 010 010
3 11 110 101 100 011 011
4 111 110 101 100 100
5 111 110 101 101
6 111 110 110
7 111 1110
8 1111
etc.
示例:當您有 6 個整數(0 到 5)的范圍時,您可以使用第 6 列。這樣您可以在數字 0 和 1 上節省一點。使用第 9 列時,您將在每個數字上節省一點,除了7 和 8。
'you will save a bit' 與使用 2、3、4 或 N 位字相反。
我試圖用谷歌搜索這個,但我找不到正確的搜索關鍵字。有人能指出我正確的方向嗎?
謝謝!
uj5u.com熱心網友回復:
這似乎是霍夫曼編碼,假設在任何給定范圍內的所有值上均勻分布。
例如,第 5 列只是字符集 [0-5](含)的霍夫曼編碼,假設所有 6 個數字出現的概率相等。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/374284.html
上一篇:基于xyz的3d碰撞公式
下一篇:以最佳方式拆分陣列并具有多個功能
