[問題] AND運算為何使用 & 而不是 && ?

看板C_and_CPP (C/C++)作者時間13年前 (2013/03/18 20:28), 編輯推噓0(0010)
留言10則, 5人參與, 最新討論串1/1
各位好,想請問下面這支程式 http://www.jbox.dk/sanos/source/include/syslog.h.html 中間有一段 #define LOG_FACMASK 0x03f8 #define LOG_FAC(p) ((p) & LOG_FACMASK) 我的問題是LOG_FAC這個函式是p值與0x03f8做AND運算嗎@@ 如果是,為什麼不是&&,而卻只有一個& 還有AND運算不是要二進位嗎? 0x03f8是十六進位啊... 感謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.171.9.46

03/18 20:32, , 1F
&&是邏輯運算 &是位元運算
03/18 20:32, 1F

03/18 20:34, , 2F
再者, 十六進位為何不能做位元運算...
03/18 20:34, 2F

03/18 20:38, , 3F
我的意思是0x038f會自動轉成0101...去運算???
03/18 20:38, 3F

03/18 20:39, , 4F
對電腦來說都是二進位
03/18 20:39, 4F

03/18 20:39, , 5F
不論你用十進位 八進位 十六進位表達
03/18 20:39, 5F

03/19 03:30, , 6F
人造科學,你發明的就你定~
03/19 03:30, 6F

03/19 10:41, , 7F
不然請原po講解一下怎麼樣先轉成二進位 我給五百P幣
03/19 10:41, 7F

03/19 10:42, , 8F
條件是要講對 :D
03/19 10:42, 8F

03/19 14:25, , 9F
二進位的AND運算喔~同理單個"|"是OR 另外"^"是XOR
03/19 14:25, 9F

03/19 14:26, , 10F
其實玩一下就知道了~用些3&4 1|2之類的輸出看結果~
03/19 14:26, 10F
文章代碼(AID): #1HHmXsQw (C_and_CPP)
文章代碼(AID): #1HHmXsQw (C_and_CPP)