给定一个小整数的N维向量是否有任何简单的方法来映射它与一个大的整数一一对应?
比如说,我们有N = 3个向量空间.我们可以使用整数(int48)y表示向量X = [(int16)x1,(int16)x2,(int16)x3]吗?显而易见的答案是"是的,我们可以".但问题是:"执行此操作的最快方法是什么?反向操作?"
这个新的1维空间是否具有一些非常特殊的有用属性?
对于上面的例子,你有3*32 = 96位的信息,所以没有任何先验知识你需要96位的等效长整数.
但是,如果您知道x1,x2,x3值始终适合每个16位,那么您可以将它们全部打包成48位整数.
在任何一种情况下,您只需使用该技术shift,mask以及bitwise or打包/解包值的操作.