0
이것은 한 번만 제외하고는 잘 작동하는 것 같습니다. 나는 비트 연산자를 사용하여 C의 부호없는 int에서 비트를 분리하는 방법은 무엇입니까?
unsigned char c= 17512807u<<22>>22;
내가이 359 또는 0,101,100,111 것으로 예상 숫자의 처음 10 개 비트를 얻으려고하지만 난이 일어나고있는 이유가 103 0001100111. 받고 있어요?
부호없는 문자는 8 비트, 그래서는 0에서 255 당신이 서명 숯불에 맞지 않을 수 있습니다 원하는 359의 값 사이의 값을 포함 할 수 있습니다. – Jonesinator
'0101100111'은 10 비트이다. 'unsigned char'는 8입니다 (아마도). –
int가 컴퓨터에서 32 비트라고 가정 할 때, 이것은 상위 ("first") 10 비트가 아니라 하위 10 비트를 제공해야합니다. 결과는 'c'에 저장 될 때 8 비트로 잘립니다 (8 비트 문자로 가정). –