이것은 한 번만 제외하고는 잘 작동하는 것 같습니다. 나는 unsigned char c= 17512807u<<22>>22;
내가이 359 또는 0,101,100,111 것으로 예상 숫자의 처음 10 개 비트를 얻으려고하지만 난이 일어나고있는 이유가 103 0001100111. 받고 있어요?
여기서 '-'는 음수 x를 나타내며 '&'은 비트 AND를 나타냅니다. 숫자는 프로그램에서 8 비트 2의 보수이며 입력과 출력 간의 상관 관계를 찾을 수없는 것 같습니다. 8 & (-8) = 8
7 & (-7) = 1
97 & (-97) = 1
아마도 비트 조작이 중요할까요? 상위 4 비트는 항상 0의를 끝나게 위의 각각의 경우에 0000 1000
나는 32 비트 단정도 부동 소수점 정수를 비트 연산 (if 문과 for 루프도 사용할 수 있음)을 사용하여 C로 2로 나눌 것을 요구하는 숙제가 있습니다. float의 비트는 부호없는 정수로 표시되므로 비트 연산자로 수정할 수 있습니다. 제 문제는 분열 중에 비트가 정확히 어떻게되는지 이해하는 데 어려움을 겪고 있다는 것입니다. 내 초기 계획은 부호와 가
8051 포트의 여러 비트를 한 번에 수정할 수있는 간단한 방법이 있는지 알아 내려고하고 있습니다. 나는 내 딜레마를 더 구체적인 스타일로 다시 설명 할 것이다. 내 응용 프로그램에는 포트 2가 두 가지 기능으로 나누어 져 있습니다. FA와 FB라고 부르 자. FA는 하위 3 비트의 출력 값에 의존하며 FB는 나머지 5 비트를 사용하지만 I/O 일 수 있습
저는 C에서 비트 연산자를 사용하여 프로그램을 작성하고 있습니다. 이는 학교 과제를위한 것으로 정수의 비트 표현에서 1의 수를 계산 한 다음 " 심지어 "결과가 균등하다면"이상한 "경우에도 마찬가지입니다. 각 비트를 반복하고 입력 된 정수를 마스크와 비교하고 비트 AND 연산자가 1을 반환 할 때마다 카운터 변수를 증가시키는 프로그램을 작성했습니다. 그러나
C의 비트 AND 연산자를 이해하려고합니다. 나는 확실히 내가 컴파일러가 #include <stdio.h>
main() {
printf ("%d\n", 1999 & 177);
return 0;
}
대답은 위의 129입니다 을하고 이해하기 위해 177 나는 손으로이 일을 해요 앞에 0을 넣을 때까지 작동이 내 대답이다 내가 손으로도
제 할당은 비트를 사용하여 다른 비트를 방해하지 않고 변수 "x"의 비트 11과 12를 지우는 (즉 0으로 설정하는) 하나 이상의 C 문을 작성하는 것입니다 수준 C 연산자. 내 교수는 "아래에서 언급 한 변수"마스크 "가 도움이 될 수 있습니다." int mask = 0x00001800;
int x = arbitrary_value;
비트 수준 연산