整数から個々のビットをマスキングまたは抽出する操作は、エンディアンに依存していますか? いくつかのコードを書きましたが、1 つのタイプのハードウェアにしかアクセスできないため、その演算子がエンディアンに依存しないかどうかを実際に確認することはできません。バグを見つけたらお知らせください。注: このコードは、宿題の問題と個人的な教育のために書かれています。
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);
}
}
ご協力いただきありがとうございます。