作者Damaged (被害者)
看板C_and_CPP
標題Re: [問題] &(and) 作為 if 判斷式的涵義
時間Sat Feb 23 10:52:31 2013
※ 引述《kg3363 (深藍)》之銘言:
: 想再請問一下~以下程式碼的意思是??
: if ( Byte&0x80 )
: {
: digitalWrite ( MOSI, 1 ) ;
: }
: else
: {
: digitalWrite ( MOSI, 0 ) ;
: }
看到 & 不要想成"和" 要想成"且" (中文比英文精確)
0x80 二進制為 1000 0000
意為:Byte這變量(想成二進制) 與 1000 0000 "且"運算後
還有位不是零 if才成立
簡單講 Byte這變量的第 8位要是 1 , if才會成真
所以原代碼可以寫成
digitalWrite ( MOSI, Byte>>7 );
: 是代表"Byte"和"0x80"做甚麼關係阿??
: 怎解釋比較通順阿??
: 另外 Byte |= 1 ;又該怎解釋阿??
Byte的第一位 強迫為 1 (xxxx xxx1) 但其他位不動
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 223.142.96.159
※ 編輯: Damaged 來自: 223.142.96.159 (02/23 10:56)
→ uranusjr:我記得我 n 年前有寫過一篇文章解釋這個東西XD 02/23 15:31
→ kikiqqp:寫單晶片天天都在用 orz 02/24 01:48