处理从整数中屏蔽或提取单个位的任何操作是否取决于字节顺序?我已经编写了一些代码,但只能访问一种类型的硬件,我无法确定它的运算符是否与字节序无关。如果您发现任何错误,请告诉我。注意:此代码是为家庭作业问题和个人启发而编写的:
void PrintDecimalIntegerInBinary (long long n)
{
PrintDecimalInBinaryRecursion(n, n >= 0);
}
void PrintDecimalInBinaryRecursion (long long n, bool sign)
{
if (n == 0) {
cout << (sign ? 0x0 : 0x1);
}
else {
PrintDecimalInBinaryRecursion((unsigned long long)n >> 1, sign);
cout << (n & 0x1);
}
}
感谢您的帮助。
答案 0 :(得分:5)
字节顺序仅确定数据的存储方式,而不是如何处理数据。因此任何按位运算符或位移都不受字节序的影响。具体来说,无论字节顺序如何,0x1
都表示相同的内容。