비트 마스크 예제

지금까지 이 기사에서는 비트를 켜고 비트를 끄는 방법을 다루었지만 한 번에 모두 사용하지는 않았습니다. 때로는 값이 무엇인지 실제로 중요하지 않지만 현재의 가치와 반대로 만들어야합니다. 이는 XOR(배타적 또는) 작업을 사용하여 달성할 수 있습니다. XOR은 홀수 비트 수가 1인 경우에만 1을 반환합니다. 따라서 두 개의 해당 비트가 1이면 결과는 0이 되지만 그 중 하나만 1이면 결과는 1이 됩니다. 따라서 비트 값의 반전은 XORing에 의해 수행됩니다 1. 원래 비트가 1이면 XOR 1 = 0을 반환합니다. 원래 비트가 0이면 0 XOR 1 = 1을 반환합니다. 또한 XOR 마스킹은 BIT 안전하므로 Y XOR 0 = Y와 마찬가지로 가려지지 않은 비트에는 영향을 주지 않습니다.

노드:마스크, 이전:비트 와이즈 배타적 OR (XOR / EOR), 최대 :진실 테이블과 비트 마스크 모든 1과 비트 600 마스크를 만들기위한 C 언어 바로 가기 될 것입니다 : 비트 와이즈 OR, 비트 와이즈와 유사하고 해당 쌍 사이의 AND 작업을 수행하는 데 사용할 수 있습니다 비트의 두 값을 형성하여 결과 값을 형성합니다. 비트 마스크에서 Bitwise AND는 결과 값의 특정 비트가 0으로 설정되어 있는지 확인하는 데 사용할 수 있습니다. 트릭은 결과에서 변경하지 않으려는 비트에 대해 마스크에 1을 넣고 결과에 0이 있는지 확인하려는 비트에 대해 마스크에 0을 넣는 것입니다. (동일한 목적으로 사용되기 때문에) 관련이 있지만, 투명한 색상과 알파 채널은 이진 마스킹에 의해 이미지 픽셀 혼합을 포함하지 않는 기술이다. 나는 Bitmask를 이해하는 데 문제가 있었다, 나는 구글에 비트 마스크에 대한 알 수없는 PDF를 발견했다. 나는 비트 마스크와 그 용도를 이해하는 나 같은 초보자를 돕고 싶습니다. 여기서 우리는 가서 : 세트의 가능한 모든 하위 집합에 대한 i가 있습니다. 마찬가지로 가능한 모든 숫자 구성을 함께 추가할 경우 결과 배열에 하나의 위치가 있습니다.

해당 하위 집합에 j-th 번호를 포함하는 경우 해당 줄은 i-th 하위 집합에 j-th 번호를 추가합니다. 참고 : 실제로 첫 번째 비트는 항상 가장 중요하지 않은 비트가 항상 가장 중요하고 항상 오른쪽에 나타납니다. 우리는 우리가 그것을 구현 할 때, 우리가 안전하게 위의 예에 표시된 방식으로 시각화 할 수 있도록 순서가 실제로 중요하지 않기 때문에 단순히 더 나은 이해를 위해 위의 예제에서 표현을 촬영했다. SPI 코드 예제를 업데이트하기 위해 배운 내용을 사용해 보겠습니다. 이 버전은 지금까지 사용된 각 MMA7455 레지스터의 주소에 대한 상수를 선언합니다. 또한 레지스터 값의 비트 6을 설정하거나 지우기 위해 상수 쓰기Mask 및 readMask를 선언합니다. 그런 다음 shift_out 및 shift_in 값 매개 변수 (hooray!)에 대해 헥사데피좀에서 바이너리로 수동으로 변환 할 필요가 없습니다. 수정된 예제에서는 I/O 핀의 숫자 대신 이름을 사용합니다. 이렇게 하면 드라이버를 다른 프로젝트에서 훨씬 쉽게 다시 사용할 수 있습니다.

MMA7455 데이터시트는 hexadecimal 값으로 레지스터 주소를 제공합니다. 이러한 값 헥스 값을 상수에 할당해 보겠습니다. 그런 다음 인쇄 formatter %07b를 사용하여 이진 번호로 볼 수 있습니다. 또한 위의 알고 있는 항목의 비트 마스크 기술을 사용하여 이러한 값의 비트 6을 1 또는 0으로 설정할 수 있습니다.


Parse error: syntax error, unexpected ',' in /home/nickegge/public_html/wp-content/themes/minimatica/comments.php on line 68