[問題] &(and) 作為 if 判斷式的涵義

看板C_and_CPP (C/C++)作者 (深藍)時間13年前 (2013/02/20 16:28), 編輯推噓0(0012)
留言12則, 5人參與, 最新討論串1/2 (看更多)
想再請問一下~以下程式碼的意思是?? if ( Byte&0x80 ) { digitalWrite ( MOSI, 1 ) ; } else { digitalWrite ( MOSI, 0 ) ; } 是代表"Byte"和"0x80"做甚麼關係阿?? 怎解釋比較通順阿?? 另外 Byte |= 1 ;又該怎解釋阿?? 麻煩幫我解惑一下~先感謝大家了^^~ 開發平台(Platform): (Ex: VC++, GCC, Linux, ...) 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 餵入的資料(Input): 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版) 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.30.208.100

02/20 16:30, , 1F
翻開你的書查查位元運算
02/20 16:30, 1F

02/20 16:31, , 2F
先說明一下digitalWrite這邊我知道~想問的是"Byte"和"0x80"
02/20 16:31, 2F

02/20 16:32, , 3F
的判斷式怎作解釋~麻煩大家了
02/20 16:32, 3F

02/20 16:33, , 4F
後者就是byte = byte | 1的意思
02/20 16:33, 4F

02/20 16:35, , 5F
"|"符號是代表或的意思沒錯吧??
02/20 16:35, 5F

02/20 16:35, , 6F
關鍵字"位元運算" 應該很好找
02/20 16:35, 6F

02/20 16:38, , 7F
嗯嗯~我查一下~感恩
02/20 16:38, 7F

02/20 16:44, , 8F
Byte和0x80作AND運算判斷式~是表示如果值是1,MOSI就高位
02/20 16:44, 8F

02/20 16:45, , 9F
如果值是0,MOSI就低位;是這樣解釋嗎??
02/20 16:45, 9F

02/20 16:46, , 10F
只要值是「非0」就會做 digitalWrite ( MOSI, 1 ); 那行
02/20 16:46, 10F

02/20 17:02, , 11F
懂了~感謝大家的幫忙~謝謝^^~
02/20 17:02, 11F

02/22 04:31, , 12F
都沒在看書的, 自以為try出來能學到多少
02/22 04:31, 12F
文章代碼(AID): #1H98aThs (C_and_CPP)
文章代碼(AID): #1H98aThs (C_and_CPP)