2

处理掩码或从整数中提取单个位的任何操作是否取决于字节顺序?我已经编写了一些代码,但只能访问一种类型的硬件,我无法真正检查它的运算符是否与字节序无关。如果您发现任何错误,请告诉我。注意:此代码是为家庭作业问题和个人启发而编写的:

 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);
    }     
 }

谢谢你的帮助。

4

1 回答 1

5

字节序仅决定数据的存储方式,而不是处理方式。因此,任何按位运算符或位移都不受字节序的影响。具体来说,0x1无论字节顺序如何,都意味着同样的事情。

于 2012-04-12T10:37:58.067 回答