image

圖片出處:[1]

1<<4 將1左移4位

0000001 變為 0010000

~(1<<4 ) 將0010000變為1101111

已知&符號:0&0=0, 0&1=0, 1&0=0, 1&1=1

假設n為1011011 (隨意設的數字)

n&~(1<<4 ) 就是1011011&1101111=
1011011
1101111
---------
1001011

我們可以觀察到:
1001011與原本的n 1011011只有第五個位不一樣,即為此程式的目的。

 

Reference:

[1] " Bit " Internet: https://web.ntnu.edu.tw/~algo/Bit.html, [May 5, 2022]

arrow
arrow
    文章標籤
    C語言 bitwise
    全站熱搜
    創作者介紹
    創作者 檸檬 的頭像
    檸檬

    檸檬的C語言初學日誌

    檸檬 發表在 痞客邦 留言(0) 人氣()