Re: [問題] 新手發問 "!!"的意思

看板Programming作者 (-858993460)時間12年前 (2012/03/08 21:51), 編輯推噓4(403)
留言7則, 6人參與, 最新討論串2/4 (看更多)
※ 引述《Barros (Leila)》之銘言: : 看資料結構的書的時候,應該是用c寫的吧 : 發現code裡出現 !! 這個符號 : 煩請解惑感激不盡~ : 節錄部份code: : switch( !!T1 + 2 * !! T2 + 4 * !! Carry) : { : case 0: /*no trees*/ : case 1: /*only H1*/ : break; 這是懶人用switch... !! 是做兩次 boolean not 所以非零的會變成 1 是零的就還是 0 於是 !!T1 + 2 * !! T2 + 4 * !! Carry 這個算式 將三件事 (T1 != 0, T2 != 0, Carry != 0) 編碼成一個整數 若三者都為 0 則它會算出二進位的 000 = 十進位 0 若只有 T1 非 0 則它會算出二進位的 001 = 十進位 1 若只有 T2 非 0 010 = 十進位 2 若只有 Carry 非 0 100 = 十進位 4 等等 這樣就能以 switch 一次判斷三個條件的真假 你可以注意到這個 switch 裡的 case 有註解寫說這是什麼情況 就是這麼來的 -- いああオレたちには見えてるモノがあるbきっと誰にも奪われないモノがあるはずさ開口一番一虚一実跳梁跋扈形影相弔yL羊頭狗肉東奔西走国士無双南柯之夢 歪も ぶ  意味がないと思えるコトがあるPきっとでも意図はそこに必ずある んの く 依依恋恋空前絶後疾風怒濤有無相生H急転直下物情騷然愚者一得相思相愛 だが ろ 無意味じゃない6あの意図 恋た で 有為転変死生有命蒼天已死黄天當立 !!6五里霧中解散宣言千錯万綜則天去私 のり -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.28.91

03/08 22:47, , 1F
了解了,謝謝
03/08 22:47, 1F

03/09 08:46, , 2F
超深奧…
03/09 08:46, 2F

03/10 12:19, , 3F
程式設計師有必要那麼懶嗎
03/10 12:19, 3F

03/10 15:34, , 4F
樓上,如同文學,程式精鍊也是一種藝術呀 :p
03/10 15:34, 4F

03/10 18:06, , 5F
保證別人絕看不懂也無法改的藝術。
03/10 18:06, 5F

03/10 22:54, , 6F
受教了!一直不懂為什麼要寫這樣
03/10 22:54, 6F

03/11 13:49, , 7F
真是上了一課…
03/11 13:49, 7F
文章代碼(AID): #1FMBb9lE (Programming)
討論串 (同標題文章)
文章代碼(AID): #1FMBb9lE (Programming)