3 回答

TA貢獻(xiàn)2012條經(jīng)驗(yàn) 獲得超12個(gè)贊
由于n是固定的,所以問(wèn)題很簡(jiǎn)單:將 ( a , b )編碼為a ?2 n + b。
如果m和n不固定,則問(wèn)題是不可能的,因?yàn)樗笪覀儗ⅲ▋晌?em>a,一位b)和(一位a,兩位b)都編碼為三位,這意味著我們必須編碼十二種可能性 (0, 0), (0, 1), (0, 2), (0, 3), (1, 0), (1, 1), (1, 2), (1, 3) ), (2, 0), (2, 1), (3, 0), (3, 1) 三種比特的八種組合,這是不可能的。

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超6個(gè)贊
如果您絕對(duì)必須具有完全可逆性,則需要放寬至少一個(gè)隱含的初始條件(因?yàn)槿绻粏为?dú)記住這些數(shù)字中的任何一個(gè)并且響應(yīng)位長(zhǎng) R 小于 m+n,則您將不可撤銷地失去完全可逆性):
要么你應(yīng)該讓 R 完全等于 m+n,在這種情況下,最簡(jiǎn)單的方法是將 m 長(zhǎng)度左移 n 位,然后添加 n 位數(shù)字(反轉(zhuǎn),復(fù)制,右移由 n 位得到 m 長(zhǎng)度的 1,左移 n 位并從/與編碼數(shù)減去/按位異或得到 n 長(zhǎng)度的數(shù)),
或者你應(yīng)該在某處/以某種方式單獨(dú)記住其中一個(gè)數(shù)字(希望它對(duì)用戶來(lái)說(shuō)很常見(jiàn)?)并且只是按位異或數(shù)字(反轉(zhuǎn),只是按位異或結(jié)果與存儲(chǔ)的數(shù)字);獎(jiǎng)勵(lì)積分,如果這對(duì)用戶來(lái)說(shuō)很常見(jiàn),那么每個(gè)用戶超過(guò)第一個(gè)的任何額外編碼 ID 只會(huì)增加 max(m,n) 位數(shù)據(jù)到存儲(chǔ)需求。
添加回答
舉報(bào)