作者LPH66 (-858993460)
看板Programming
标题Re: [问题] 新手发问 "!!"的意思
时间Thu Mar 8 21:51:03 2012
※ 引述《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デ きっと谁にも夺われないモノがあるはずさ
け
开口一番一虚一実跳梁跋扈形影相吊yュL羊头狗肉东奔西走国士无双南柯之梦 歪も
ぶ
意味がないと思えるコトがある ラPきっとでも意図はそこに必ずある んの
く
依依恋恋空前絶後疾风怒涛有无相生 ラH急転直下物情骚然愚者一得相思相爱 だが
ろ
无意味じゃない ラ6あの意図が 恋た
で
有为転変死生有命苍天已死黄天当立 !!6五里雾中解散宣言千错万综则天去私 のり
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.28.91
1F:推 Barros:了解了,谢谢 219.84.58.43 03/08 22:47
2F:→ MOONRAKER:超深奥… 61.231.8.206 03/09 08:46
3F:→ final01:程式设计师有必要那麽懒吗 211.21.157.199 03/10 12:19
4F:推 teslare:楼上,如同文学,程式精链也是一种艺术呀 :p111.240.229.236 03/10 15:34
5F:→ MOONRAKER:保证别人绝看不懂也无法改的艺术。 61.231.8.206 03/10 18:06
6F:推 powertodream:受教了!一直不懂为什麽要写这样 220.135.0.69 03/10 22:54
7F:推 PCIT:真是上了一课… 72.201.78.127 03/11 13:49