Machen irgendwelche der Operationen, die sich mit der Maskierung oder dem Extrahieren einzelner Bits von einer Ganzzahl befassen, von Endianess abhängig? Ich habe etwas Code geschrieben, aber mit Zugriff nur auf Hardware eines Typs kann ich nicht wirklich überprüfen, ob seine Operatoren Endian-unabhängig sind. Bitte lassen Sie mich wissen, wenn Sie irgendwelche Fehler sehen. HINWEIS: Dieser Code wurde für ein Hausaufgabenproblem und persönliche Erbauung geschrieben:Endian-Abhängigkeit in Bit-Verschiebung, bitweise Operatoren
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);
}
}
Vielen Dank für Ihre Hilfe.
Ich sehe. Also würde das Verschieben von Bits um mehr als 8 Leerzeichen (d. H. Int >> 9) die Ergebnisse nicht basierend auf der Hardware ändern? Vielen Dank! – Cindeselia