unsigned long long
형식의 정확한 이진 형식은 무엇입니까 (적어도 Visual Studio에서는).다른 데이터 형식의 이진 형식
별칭 지정 포인터를 사용하여 비트 단위 연산을 수행 중이므로 unsigned char
포인터에 대한 연산을 통해 비트를 설정 한 다음 unsigned long long
포인터 (별칭)에서 다른 연산을 수행합니다.
unsigned long long
의 형식은 이상한 보이는이 때문에 엉망 결과는, 또한, 그것은 비트 시프트 연산도 이상한 행동을 보인다
:
는 비트 마스크 테스트에서이 데이터가 보인다 right: LSB->MSB : left
에서 정렬됩니다. 즉, >> 교대는 더 적은 비트가 아닌 더 중요한 비트로 데이터를 가져옵니다. 이것이 맞습니까?
컴파일러는 ICC 13.0이고 OS는 Windows 7-64입니다.
아마 [endianness] (http://en.wikipedia.org/wiki/Endianness)에 대한 설명이 순서에 있습니다. –
단일 바이트를 추출하기 위해 포인터 트릭 (char *)으로 캐스팅하는 것이 가능합니까? 이 경우 귀하의 혼란은 아마도 엔디안 문제에서 비롯된 것입니다. – us2012
나는 unsigned char *를 사용하여 비트를 설정하고 다른 수학 연산을 처리 할 별칭 포인터를 사용합니다. – user0002128