【发布时间】:2018-02-20 10:40:30
【问题描述】:
例如,我有两个从 0 到 15 的数字。我想知道是否有任何方法可以将这两个数字编码为 4 位二进制字符串(或可能是 5 位)?众所周知,需要 4 位来表示从 0 到 15 的任何单个数字,但也许您可以考虑自己对二进制字符串进行操作,然后从结果中恢复输入数字。例如,如果我添加0010 + 1011 作为标准,我得到1101。但是由于相加的结果,不可能完全明确地预测和的组成部分。必须考虑案例。但也许其他一些自己定义的动作?有人想知道类似的事情吗?
我知道上面的问题可能不符合某些门户条件,但是纯粹抽象地对待这个问题:)
【问题讨论】:
-
您在寻找
bin()吗? -
有 2^7 种可能性,你想把它们都表示成 2^4 种状态?
-
2^4
-
使用预定义的映射。然后你可以定义 16 对不同的数字,每一对都在
(0..15,0..15)的范围内。由于上述原因,您不能对所有可能的范围进行编码。你问的问题很像“我可以在页面的一侧和另一侧书写。有第三面吗?” -
@deceze 如何仅用 5 位表示两个 4 位二进制数?例如(0101 和 1100),考虑到有 16*16/2 个唯一对?
标签: python algorithm operation