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