我有一個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