我正在使用 pic32mx Controller 并使用 C32 工具套件 v2.02 编译器和 MPLAB-X IDE v 3.05。 我对 long long 变量使用按位运算,但得到了错误的结果。
int main()
{
long long data0, data1=0;
data0 = 489631651402;
data1 = data0 & 0x0FFFFFFFFFF;
printf("%llu\n%llu\n", data0, data1 );
return 0;
}
输出:
489631651402
492260348528
根据计算,这个结果是错误的。 data0 和 data1 必须相等。
请为我提供更好的操作方法。以上过程如有错误请指出正确路径。
最佳答案
如果您需要所有位的掩码,请使用 ULLONG_MAX 作为常量。如果您只需要屏蔽这 48 位,请使用 0x0FFFFFFFFFFLL
关于c - long long pic32 按位运算错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36496856/