uint64_t 型でビット演算子を使用しようとしています。これを実行すると、54 ビット (64-10 ビット) の長さが必要であるにもかかわらず、37 (47 - 10) ビットの出力が得られます。どうすればこれを修正できますか?
uint64_t temp = addr; //(addr input - 11111111110100011010111011011111000101111001000)
temp = temp >> 10;
return temp; //returns 37 bits only as input is 47 bits.
出力: temp は現在 1111111111010001101011101101111100010 です