我有一个int64(这是一个long long)值和一个字节值。我想将它们合并在一起。我知道我长久的价值不使用64位。所以我想使用未设置的8位(最重要或最不重要?)来编码一个字节。将一个字节组合成很长的长度
后来我想单独找到原始值和字节。
所以优选功能或排序
typedef unsigned char byte;
typedef long long int64;
int64 make_global_rowid(int64 rowid, byte hp_id);
byte get_hp_id(int64 global_row_id);
int64 get_row_id(int64 global_row_id);
get_hp_id的方式隔开的宏,并返回从合并数值的字节,而get_row_id返回其用字节合并
多远你走到这一步,你的编码呢?附:你可以用&(和运算符)和位移来实现<<, >> – Bathsheba
可能对'|'或运算符也是有用的......;) –
函数名称只是为了阐明我想实现的内容。如果我知道该怎么做,我就不会在这里:-) – user1461001