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);
}
}
感謝を。
です。したがって、8以上のスペース(つまり、int >> 9)をシフトしても、ハードウェアに基づいた結果は変わらないでしょうか?ありがとうございました! – Cindeselia