Bit Masking

Posted jasperzhao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Bit Masking相关的知识,希望对你有一定的参考价值。

Masking lets you modify a specific bit (or bits) using a bit pattern (called the mask) and a logical bitwise operator (AND, OR, or XOR). By changing the bits in the mask you will change which bits are modified by the operator. And by changing the operator, you will change how those bits are modified.

 

Take for example a = 10111001 (or 185 in decimal).

 

Using masking, you can set the last digit of a to 0 with the AND (&) operator and a mask of 11111110 (254 in decimal):

a    10111001

mask 11111110

b    10111000

Implemented, this would look something like:

b = a & mask

 

You can set the first 4 digits of a to 1 with the OR (|) operator and a mask of 11110000 (240 in decimal):

a    10111001

mask 11110000

b    11111001

This would look like:

b = a | mask

 

You can also toggle (meaning convert all 0‘s to 1‘s and vice versa) the entirety of a with the XOR (^) operator and a mask of 11111111 (255 in decimal):

a    10111001

mask 11111111

b    01000110

This would look like:

b = a ^ mask

 

Similarly, implement a mask using the bitwise Not operator (~)

以上是关于Bit Masking的主要内容,如果未能解决你的问题,请参考以下文章

32bit和64bit有啥区别?

相机里RAW里12bit和14bit之类的区别在哪?

如何将32bit的图片转换成24bit的图片??

32-bit系统与64-bit系统的区别

8bit12bit16bit图像数据

操作系统 32bit 和 64bit 有啥区别