有没有一种简单的方法可以将一个 64 位(unsigned long long
)变量拆分为八个 int8_t
值?
例如:
//1001000100011001100100010001100110010001000110011001000110011111
unsigned long long bigNumber = 10455547548911899039;
int8_t parts[8] = splitULongLong(bigNumber);
parts
类似于:
[0] 10011111
[1] 10010001
[2] 00011001
...
[7] 10010001
最佳答案
{
uint64_t v= _64bitVariable;
uint8_t i=0,parts[8]={0};
do parts[i++]=v&0xFF; while (v>>=8);
}
关于c - 如何将一个 64 位数字拆分为八个 8 位值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20041899/