如何将unsigned long long位分成3个int型,每个int型有[1- 2,3 - 5,6 -7]位

How to divide up the unsigned long long bits into 3 ints with [1-2, 3-5, 6-7] bits in each?

本文关键字:int long unsigned 3个 每个 型有      更新时间:2023-10-16

unsigned long long a如何将其位分为3个int,每个int中有[1- 2,3 - 5,6 -7]位?

unsigned long long a;
// bits 1 and 2 assuming 0 indexed
int first = static_cast<int>((a & (3ULL<<1))>>1);
// bits 3 and 5 assuming 0 indexed
int second = static_cast<int>((a & (3ULL << 3)) >> 3);
// bits 6 and 7 assuming 0 indexed
int third = static_cast<int>((a & (3ULL << 5)) >> 5);
相关文章: