wordpress建中文網(wǎng)站西安百度推廣運營
一、按位寫入1
uint32_t writeBit (1 << 5) // 第5位的掩碼
uint32_t value = 0x12341234;
// 設(shè)置第5位為1
value |= writeBit;
原理就是原值與掩碼… 00010000進(jìn)行按位相與,與0相交的位還是等于原來的值,與1相交的位則變?yōu)?。
二、按位寫入0
uint32_t writeBit (0 << 5) // 第5位的掩碼
uint32_t value = 0x12341234;
// 設(shè)置第5位為1
value &= ~writeBit;
原理就是按位取反相交,掩碼… 00010000取反后為…11101111,按位相交,與為1的位相交保持原值,與為0的位相交為0。
三、按位讀
uint32_t readBit (0 << 5) // 第5位的掩碼
uint32_t value = 0x12341234;
// 設(shè)置第5位為1
bool readvalue = (value & readBit) != 0;