→ erspicu:你還看不懂嗎? 我是回應 有人問 | 兩邊為BOOLEAN的情況 03/29 00:24
→ erspicu:如果確定 | 兩邊為boolean 說真的 兩種方式本來就可以阿 03/29 00:26
→ yauhh:哪兩種方式? 03/29 00:27
→ erspicu:你高興遇到TRUE回傳TRUE跳掉 或是 繼續做後面的 都可以 03/29 00:27
→ yauhh:這就是我說的,可以忽略的情況不忽略也沒關係. 然後呢? 03/29 00:28
→ erspicu:所以你這篇文章到底重點是什麼? 03/29 00:29
→ yauhh:但是我已經告訴你,|有位元求值的意義. 所以可能你的前輩是 03/29 00:29
→ yauhh:在講說左邊即使為true,右邊也會做下去,因為|是位元值的意義. 03/29 00:30
→ erspicu:我的前輩知道你幫忙護行會很感激吧 不過就觀念錯誤而已 03/29 00:30
→ yauhh:但是,看樣子你只是在抱怨為什麼false|Any->false而已. 03/29 00:31
→ erspicu:觀念錯誤 被捧成 見樹也見林 夠奇妙了 03/29 00:31
→ yauhh:但說穿了這一句弄錯了,就代表全部觀念全錯了嗎? 還好吧. 03/29 00:31
→ erspicu:有看到有人推一句話嗎? 03/29 00:32
→ erspicu:→ shemale:如果我是老闆,大概會叫他們走路了 03/29 00:32
→ yauhh:別人推什麼話干你什麼事又干我什麼事? 03/29 00:33
→ yauhh:真相是你不是老闆,並且你也沒證明他們全錯. 03/29 00:33
推 omnl:GOOGLE一下的確不是所有程式都有做short circuit evaluation 03/29 00:33
→ yauhh:而別人一句玩笑推文,你還認真解起來... 03/29 00:34
→ erspicu:惱羞成怒了嗎? 03/29 00:34
→ yauhh:據我所知,不是全都做SCE. 早期BASIC就沒有做. 03/29 00:34
→ omnl:另外erspicu提到embedded我大概知道他要提的意思 bitwise跟 03/29 00:34
→ yauhh:true,false在電腦中當然是以數值表達. 邏輯式中所寫的true, 03/29 00:35
→ omnl:logical"用途"本來就不大一樣 一個是bitwise運算完後 如果為 03/29 00:35
→ yauhh:false其實也可以解為二個class,那就可以用許多符號代換. 03/29 00:36
→ yauhh:哼,我可沒被打臉何必腦羞 XD 03/29 00:37
→ omnl:非零數值 才會在IF判斷裡被判斷為TRUE 但||運算則是左右兩 03/29 00:38
→ enthos:有時候Compiler -O0 -O2 -O3結果會不同...(昏) 03/29 00:38
→ yauhh:優化策略不一樣,跑出來的值也不一樣? 03/29 00:40
→ erspicu:這是正常的 也聽過 編譯器版本不同 跑出結果不同的 03/29 00:41
→ erspicu:結果一群人在論壇上戰起來 03/29 00:41
推 omnl:端先做TRUE或FALSE的判斷 所以才一定會有SCE 03/29 00:42
→ yauhh:那你意思是否說a|b某策略跑出true,換另一個策略跑出false? 03/29 00:42
推 omnl:if ((a=1)|(a=0)) 03/29 00:45
→ omnl:不做SCE情況下 a會變0 我看過compiler出來的assemble會把同一 03/29 00:47
→ yauhh:好玄妙的碼.. 03/29 00:49
推 ledia:在 C 是不行的吧, 未定義行為 03/29 00:50
→ ledia:if ((a=1)|(b=0)) 03/29 00:50
→ yauhh:VB是 if a is nothing or a.method() = "" then 會炸 03/29 00:51
推 erspicu:樓上說到重點 並不是spec就決定一切 很多細節真的看設計者 03/29 00:51
→ erspicu:我是推 ledia 03/29 00:52
推 omnl:應該說不做SCE情況下 兩邊register會同一個 值為0 03/29 00:52
→ starskgb:linux c有一些防止暫存器(前後行對調運)最佳化運算的函式 03/29 00:52
推 ledia:spec 決定一切, 沒決定到的不要亂用 XD 03/29 00:52
→ zekewang:簡單的Logical Operator吵成這樣...還扯到assembly... 03/29 00:55
→ yauhh:有沒有想過bitwise將true,false的數值定義對調? 03/29 00:55
→ zekewang:如果要看編譯器...那語言定義是定假的?? 03/29 00:56
→ yauhh:我覺得當然在座都覺得邏輯運算很簡單,但不是簡單就沒意見. 03/29 00:56
→ yauhh:一句話也可以反過來講,如果要看語言,那程式的寫法是假的? 03/29 00:57
推 ledia:當然要看語言 .... 03/29 00:58
→ zekewang:所以x1|x2在某complier可以是true, 在某compiler是false 03/29 00:59
→ ledia:想要自己隨便寫就不要怪遇到靈異現象 03/29 00:59
→ zekewang:這也太好笑了吧...底層實作就算不同...難道語言定義的 03/29 01:00
→ zekewang:就可以亂改? 那怎麼學C/C++,...學到最後老師告訴你 03/29 01:01
→ yauhh:這太好笑了吧,你所謂語言定義就只是電腦語言而已? 03/29 01:01
→ zekewang:要知道Logical Operator, 看書上的規則不對.去看compiler 03/29 01:02
推 okWen:恩... 03/29 01:02
→ yauhh:還平白無故來個x1|x2可以是true可以是false,你在講什麼? 03/29 01:02
→ zekewang:唉..再去讀書吧...搞清楚實作與語言定義的差異性.. 03/29 01:03
推 mingtai1:我比較不上進,我java很少用|,系統大後都直接int硬幹...冏 03/29 01:03
推 ledia:有人要跳針非電腦語言了, 大家快去睡吧~ XD 03/29 01:03
→ zekewang:不是連基本的Operator都能亂搞的...那就天下大亂了.. 03/29 01:03
推 omnl:嗯 遺憾的是的確我在不同compiler遇到不同的結果 所以我會更 03/29 01:04
→ mingtai1:既然用了OO 我比較在意 東西可以run,程式好維護..就好XD 03/29 01:04
→ zekewang:以後寫程式都要看一下自己用的compiler的help才能知道 03/29 01:04
→ yauhh:沒跟上頻道半路插進來扯自己一套,倒不如快去睡快去夢遊吧 03/29 01:04
→ ledia:不同 compiler 遇到不同的結果只有兩種可能 03/29 01:04
→ erspicu:不同的人 看到的層面不同 討論的重點不同 只能這樣說 03/29 01:05
→ zekewang:Logical Operator要怎麼寫...不會很搞笑嗎 03/29 01:05
→ ledia:1. 你用了 spec 未定義的行為, compiler 寫錯 03/29 01:05
→ omnl:強調logical 跟 bitewise的用途不同 03/29 01:05
→ yauhh:沒錯,寫Java我都覺得所有的名字格式一樣,程式格式一樣, 03/29 01:05
→ yauhh:不要想,寫得快就好. 03/29 01:05
→ yauhh:zekewang,你的離散數學好幾種解法那個作業還沒交上來呢 03/29 01:06
→ omnl:至於if((a=1)|(a=0))在我用的embedded IDE環端中的確是可以 03/29 01:06
→ yauhh:我覺得不必強調那個東西不同,因為你在這個平台中bitwise使用 03/29 01:07
→ zekewang:你不要又私底下寫信到我的信箱亂我就好了... 03/29 01:07
哦,寄信到你信箱叫作亂你? 那你跑來別人推文中亂,就不叫作亂入?
講話顛三倒四,明明你自己扯出一大堆話題,卻都說是我扯的.
結果要你寫個一個數學的東西,寫不出來.
→ yauhh:感覺如此,但是換個平台就會冒出別的感覺. 能做對事情就好. 03/29 01:07
→ zekewang:還有阿...你上次寫的並不是優化過後的程式碼... 03/29 01:08
→ omnl:compiler的過的 就單純的賦值之後 大於0的值為視為tru 03/29 01:08
→ zekewang:你再繼續惱羞成怒個幾次...我再來考慮教你... 03/29 01:08
→ yauhh:是啊,我寫的不是優化過的程式碼,所以呢? 該死嗎? 03/29 01:08
→ omnl:至於是不是SPEC中未定義的行為 我還太淺 就不懂了 03/29 01:09
→ yauhh:總之zekewang你那些數學好幾種解法是講得出來寫不出來,是吧 03/29 01:09
→ zekewang:自己的人生該不該死還要問別人...數學也問.人生也問 03/29 01:10
→ zekewang:你乾脆上來算命好了.... 03/29 01:10
→ yauhh:(a=1)|(a=0)唸起來意思是a變成1或a變成0,似乎有一點意思... 03/29 01:11
推 ledia:compile 得過完全沒意義 ..... (a=1)|(a=0) 根本未定義 03/29 01:11
→ yauhh:這樣的語言我覺得是用來描述procedure比較有意義. 03/29 01:11
→ ledia:又不是討論玄學, 還要看感覺得嗎 ? 03/29 01:12
→ yauhh:zekewang又冒出新辭彙來了,繼上次"語言""數學",這次是"人生" 03/29 01:12
→ yauhh:這樣會不會太沉重啊,鍵盤哲人 03/29 01:12
→ ledia:大家都在用鍵盤 不要連自己也罵了 XD 03/29 01:12
→ zekewang:連寫個程式都寫得亂七八糟..居然logic operator寫成 03/29 01:13
→ yauhh:ledia,你所說的未定義只有指C,但是幾乎沒有人跟你討論C 03/29 01:13
→ ledia:我也沒跟你討論啊 03/29 01:14
→ yauhh:我所指的描述procedure是指petri-net之類的東西,不是玄學. 03/29 01:14
→ zekewang:assignment operator..... 03/29 01:14
→ yauhh:可是你說未定義,未定義 03/29 01:15
→ ledia:而且如果不是 spec 沒定義, 那 compiler 會有不同行為 03/29 01:15
→ ledia:不就更好笑了 03/29 01:15
→ yauhh:但如果(a=1)|(a=0) *死板地* 用常見的語言解,那就比較怪一點 03/29 01:16
→ ledia:你喜歡幻想是你的事, 語言就是在既定 spec 框架下發展的 03/29 01:16
→ zekewang:看吧...一直跳針undefine的東西...不會很奇怪嗎... 03/29 01:17
→ ledia:答案只有一種, 不是用自然語言還是什麼形式語言去解 03/29 01:17
→ yauhh:唉,辭彙發明大王zekewang來亂入... 03/29 01:17
→ yauhh:請問答案只有哪一種? 03/29 01:18
→ ledia:你倒是滿喜歡幫人取外號的, 不如以後尊稱你幻想大王好了 03/29 01:18
→ yauhh:你可別說你是鍵盤柯南啊,什麼真相只有一個之類的... 03/29 01:18
→ zekewang:不用理那個什麼y的...什麼都要問, 人生,數學,語言,實作 03/29 01:18
→ ledia:答案只有該 lang 的 spec 上有寫的那種 03/29 01:18
→ ledia:zekewang: 之前也是有討教過, 他愛吵這些我也很熟悉了 03/29 01:19
→ yauhh:有意思了,有人來我的文推文說不用理我本人,那是幹嘛的? 03/29 01:19
→ zekewang:就說logic operator是語言定義好的東西..連compiler都要 03/29 01:19
→ ledia:沒事無聊上來磕牙, 等等就要去休息了 XD 03/29 01:19
→ yauhh:好,就你這句,我再問你,哪個lang的spec? 03/29 01:19
→ zekewang:遵守定義規範的來做.還在跳針compiler以及undefine的行為 03/29 01:19
→ ledia:你用哪個 lang 就是哪個啊 ? 原 po 不就有 context 嗎? 03/29 01:20
→ ledia:何苦自己幻想一堆情境呢 ? 03/29 01:20
→ yauhh:ledia我是覺得你怎麼講都跳不出C的範圍. 可是這裡主題是Java 03/29 01:20
→ yauhh:那我用Prolog 03/29 01:21
→ ledia:這裡是哪裡? 我現在天天用 Java ... XD 03/29 01:21
→ yauhh:那,在Java中,這裡所談的哪個部份未定義? 03/29 01:21
→ ledia:你用 Prolog 就不用來這邊告訴寫 Java 的人哪邊想錯啦 03/29 01:22
→ ledia:想法就是不同嘛 03/29 01:22
→ ledia:在 Java 都有定義啊, 不過 (a=1)|(a=0) 的 context 是 Java? 03/29 01:22
→ yauhh:錯,你這樣講就錯了. 03/29 01:22
→ ledia:你確定在 Java, (a=1)|(a=0) 會不同 compiler 不同結果? 03/29 01:23
→ yauhh:我有講這樣的話嗎? 03/29 01:23
→ zekewang:ledia別跟小朋友灰了..晚了該睡了.不然等下問的可多了 03/29 01:24
→ ledia:有啊, 你不是一直跟我說這裡在討論 Java ? XD 03/29 01:24
→ ledia:沒關係, 以前我就常常回答他問題, 日行一善 03/29 01:24
→ yauhh:可是以上我提到那句話都是在發問,而不是在陳述. 03/29 01:24
→ yauhh:這就表示你中途岔進來,沒抓到重點. 03/29 01:25
→ ledia:原來 "可是這裡的主題是Java" 是發問, 對不起文字沒表情 03/29 01:25
→ ledia:我中途插進來都是我的錯, 只好去睡覺了, 掰掰~~ XD 03/29 01:26
→ yauhh:好了,話不投機,走吧走吧,愛撒野就撒野吧 03/29 01:26
→ yauhh:只是人不要都老摳摳了還去別人文中亂. 有本事自己po嘛,好嗎? 03/29 01:33
※ 編輯: yauhh 來自: 59.112.228.79 (03/29 19:24)
推 fatb:但說穿了這一句弄錯了,就代表全部觀念全錯了嗎? 還好吧. 03/30 00:24
→ fatb:只推上句 03/30 00:24
→ fatb:說老實話只要能當老闆眼中的超強工程師就行了 03/30 00:24
→ fatb:是否真的那麼強一點都不重要 03/30 00:24