logo
Loading...

#####請問a & b 及 a | b是什麼意思?? - Cupoy

螢幕擷取畫面 2021-07-23 205104.png

#####請問a & b 及 a | b是什麼意思??

2021/07/23 下午 10:01
NumPy 陣列的邏輯運算 (3/19更新)
林祐任
觀看數:19
回答數:1
收藏數:0

[螢幕擷取畫面 2021-07-23 205104.png](http://kwassistfile.cupoy.com/0000017AD3AB7EF3000000106375706F795F72656C656173655155455354/1626228159294/large)

回答列表

  • 2021/07/24 下午 02:14
    Jaio
    贊同數:1
    不贊同數:0
    留言數:1

    若要理解這個,必須知道 python 的邏輯是依照數學邏輯 (true false) 處理的,底下舉出最簡單的例子: 「且」(全都為真才為真,否則為否)的部分: false 且 false = false flase 且 true = false true 且 true = true 「或」(至少有一個真即真,否則為否)的部分: false 或 false = false false 或 true = true true 或 true = true 回到上面的問題: 若 a 與 b 都是邏輯值(true false),則 &、| 跟 and、or 沒什麼差別 (所以可以看到輸出符合預期,可以用我上面提到的運算規則去對照圖片中的結果),那本問題基本上就解決,但若要再探討 & 與 | ,就繼續往下看吧。 若 a 與 b是數值 ,例如 a=2, b=4,則 & 、 | 會把 a 與 b 轉為二進制 (a = 10,b=100),在二進制中 1 代表 true、0 代表 false,所以 a&b=0 (從最右邊開始加,0&0=false&false=false=0,再來右邊數來第二個,1&0=true&fasle=false=0,再往左一個位數發現 a 少一個數字那就忽略不動作,算出的二進位數值再轉為十進位制作為回傳值) a|b=6 (作為練習)