位元操作(bitwise)運算子 @ 大世界小世界 :: 隨意窩 Xuite日誌
  • 關鍵字
    1. 沒有新回應!
  • 200512092248位元操作(bitwise)運算子
    位元操作運算子:係將其運算元(通常是unsigned int,或整數型別)解釋成一個有次序的位元集成,並以其中個別位元或群組位元為作用範圍。

    運算子
    功能
    用法
    說明
    ~
    bitwise NOT(一元運算子)
    ~expr
    將運算元全部位元作反相(flip)
    <<
    左移
    expr1<

    >>
    右移
    expr1>>expr2

    &
    bitwise AND
    expr1&expr2
    1.測試一個位元或一組位元是否為1
    2.將一個位元或一組位元設成0
    |
    bitwise OR
    expr1|expr2
    將一個位元或一組位元設成1
    ^
    bitwise XOR
    expr1^expr2
    將一個位元或一組位元反相(flip)
    &=
    bitwise AND且指派給lvalue
    expr1&=expr2

    |=
    bitwise OR且指派給lvalue
    expr1|=expr2

    ^=
    bitwise XOR 且指派給lvalue
    expr1^=expr2


    unsigned int ibit;
    1.反相(flip)運算元的全部位元
    ibit=~(ibit);
    ibit^=~(0);
    2.設立某一位元(為1)
    ibit|=1<<10;
    3.清除某一個位元(為0)
    ibit&=~(1<<10);
    4.測試某一位元是否為1
    ibit&(1<<10);
    5.反相某一位元
    ibit^=(1<<10);

    sepcial.1  &
             bitvec1 & bitvec2;
                    代表以bitvec2為mask,filter(過濾)bitvec1;
    sepcial.2 |
             bitvec1 | bitvec2;
                    代表以bitvec2為mask,附加資訊於bitvec1;
    sepcial.3 ^
             bitvec1 ^ bitvec2;
                    代表以bitvec2為mask,將mask的資訊嵌入
                    bitvec1(代表bitvec1可以反向還原);

    以上是自個整理的五種用法及sepcial意義,之後還有其他用法,將陸續補充。


    二維陣列傳入函數|日誌首頁|for、while的宣告區域性...上一篇二維陣列傳入函數下一篇for、while的宣告區域性的差異...
    回應