如果我有数字 1、2、3、4、5 和 6,并且我想以尽可能最小的方式存储它们的某种组合,我会怎么做?
例如,我可能想要存储 1、4 和 5。或者可能是 2、4、5 和 6。或者甚至可能是所有六个数字。我将始终至少有一个需要存储的号码。我想我可能已经看到通过位移实现了这一点,但我并不完全理解它是如何工作的。对于它的价值,我的最终目标是节省绝对最大的空间,因为这些值需要存储在具有极小存储空间的硬件设备上。
编辑 - - - - - - - - - - - - - - - - - - - -
感谢大家提出的所有伟大建议。我只是想澄清一下,我的应用程序中的实现不一定需要尽可能小,只要我理解并且对我身后的另一个开发人员有意义。最重要的是能够以尽可能最小的方式表示这些值,因为我最终必须用其他几个值构建一个字节数组,并将其全部写入存储空间非常有限的设备。再次感谢大家的精彩建议!