[回到版面]
回應模式
名 稱
內 文
附加圖檔[] []
  • 可附加圖檔類型:GIF, JPG, JPEG, PNG, WEBM,瀏覽器才能正常附加圖檔
  • 附加圖檔最大上傳資料量為 5120 KB。
  • 當檔案超過寬 125 像素、高 125 像素時會自動縮小尺寸顯示
  • 回覆時程式碼縮排會被trim消掉,請善用[code][/code]標色或貼到ideone等網站
  • LaTeX記法可以用「$$」或「\( \)」包起來,例如「$\sum_{k=1}^{k=n} k^2 = \frac{n(n+1)(n+2)}{6}$」
  • 投稿時請點擊畫像認證後,再按下 [送出] 按鈕提交。
  • 鬧板、攻擊性發言、煽動性發言請無視(回應者也無視),並使用del或在貓管理部向管理員回報。
  • 因應惡意推文影響,現在發文自刪需經過一分鐘。

檔名:1566110198731.jpg-(62 KB, 800x894)
62 KB
無題無名19/08/18(日)14:36:38 ID:LuQ8v4aMNo.1359819del
等等 為什麼啊
無名19/08/18(日)14:37:14 ID:LuQ8v4aMNo.1359820del
檔名:1566110234480.png-(8 KB, 594x80)
8 KB
無名19/08/18(日)14:49:28 ID:wI1pC7lYNo.1359835del
你現在知道為什麼一堆人很肚爛JavaScript了吧
甚至嘲笑它根本不算是真正的程式語言
無名19/08/18(日)14:52:21 ID:CponLdPQNo.1359839del
>>1359835
沒事兒
常見的鄙視鍊而已
無名19/08/18(日)15:02:34 ID:Ehm52nAkNo.1359852del
>>1359820
哪來的n
無名19/08/18(日)15:08:08 ID:f0L48YH.No.1359861del
其實裡面有好幾個都很合理
true跟1本來就是同數值不同型態
0.1+0.2本來就會有浮點誤差,就連C語言都會發生

>>1359852
"NaN"
無名19/08/18(日)15:10:46 ID:LuQ8v4aMNo.1359863del
>>1359861
其他幾個我大概猜的出來 但91那兩個我不曉得他怎麼會加減判定成兩個不同的型別
無名19/08/18(日)15:14:30 ID:f0L48YH.No.1359866del
>>1359863
字串可以加字串,但不能減字串

9+"1" == "9"+"1" == "91"
不一定要是數字,9+"A"也可以變"9A"

91-"1" == 91-1 == 90
一般的語言都不會幫你實作"91"-"1" == "9"這種罕見的邏輯,所以遇到減號只好轉int
如果是91-"A"的話應該會有不一樣的結果
無名19/08/18(日)15:19:03 ID:LuQ8v4aMNo.1359869del
>>1359866

原來如此 謝謝你
無名19/08/18(日)15:22:51 ID:ky7OucK2No.1359882del
檔名:1566112971172.gif-(586 KB, 195x229)
586 KB
對不起我想問
為甚麼每次開串的就一支影片或一張圖
島民都能知道這些大概是甚麼領域的哪些東西
然後就開始討論起來了!!
這不是甚麼能從時下各種偽科學知道的東西啊
是我真的太孤陋寡聞嗎
還是就…剛剛好有一些懂的島島…
無名19/08/18(日)15:24:33 ID:6AdyBDQINo.1359884del
>>1359861
既然true是1那false就是0囉
那為什麼true-true不是false而是0?
無名19/08/18(日)15:25:10 ID:U6pe2GfsNo.1359886del
>>1359882
幹w新的複製文www
無名19/08/18(日)15:29:32 ID:aWZZppDINo.1359892del
>>1359882
>>知道這些大概是甚麼領域的哪些東西
他就寫了一句Thanks for inventing JavaScript還要猜嗎
無名19/08/18(日)15:30:46 ID:m2DAaWJUNo.1359894del
>>1359882
>還是就…剛剛好有一些懂的島島…
就剛好有懂的島島而已

K島的一個樂趣就是就算自己不懂
說不定等等就會有人來解說了
旁觀也是種樂趣嘛
無名19/08/18(日)15:31:45 ID:f0L48YH.No.1359895del
>>1359882
當你看到沒看過的東西就去查一下,搞懂他
下次看到同樣的東西就能討論了
只要長期維持這樣的習慣,你就會不知不覺間成為一個什麼都能聊的人

JavaScript也不是第一次上島了
如果你上次也有看到、有去查,那這次你光看縮圖就知道是什麼梗
如果你查得很仔細甚至可以解釋圖片中的矛盾點
例如那個0.5+0.1之所以沒有浮點誤差是因為0.5這個數字有特別的性質在

什麼性質?你可以去查查看
不過我想這個應該比惡魔核心還不好查

>>1359884
boolean不能運算,只能轉int
true-true會先轉換成1-1然後才變成0
型態轉了就轉了,除非你手動指定不然不會再嘗試轉回boolean
無名19/08/18(日)15:39:43 ID:Ed8WmwpENo.1359904del
無名19/08/18(日)15:40:32 ID:KmFFAD46No.1359906del
>>1359835
方便的代價罷了
所以入門千萬不能選js
無名19/08/18(日)15:44:01 ID:Sf01lz0cNo.1359908del
>>1359819
誰能解釋一下那個(!+[]+[]+![]).length是怎麼算的???
薪水還屌打只會寫C,C++,JAVA的應屆大學畢業生19/08/18(日)15:53:01 ID:aHqxj6bcNo.1359916del
檔名:1566114781037.png-(30 KB, 315x250)
30 KB
>>1359906
前端工程師表示毫無參考價值。
無名19/08/18(日)15:56:49 ID:jU.OSxkYNo.1359925del
>>1359908
(!+[]+[]+![])
! + NaN + NaN + (![] > ![object])
! N a N N a N ! object

應該是這麼9個字?
無名19/08/18(日)15:57:49 ID:7ilLZF5wNo.1359928del
檔名:1566115069496.png-(1 KB, 133x121)
1 KB
>>1359908
還好我不寫java
無名19/08/18(日)15:59:29 ID:CponLdPQNo.1359929del
>>1359908
>>1359925
F12一下就知道了


!+[]+[]
"true"

![]
false

!+[]+[]+![]
"truefalse"
順帶一題窩不是前端工程師19/08/18(日)16:00:48 ID:aHqxj6bcNo.1359930del
檔名:1566115248665.gif-(234 KB, 255x252)
234 KB
>>1359925
!+"" = true
[]+""=""
![]+"" = false
!+[]+[]+![] => true+""+""+false
無名19/08/18(日)16:02:59 ID:jU.OSxkYNo.1359932del
>>1359928
>>1359929
好吧該死的JS
還好我是學java的
無名19/08/18(日)16:03:09 ID:6AdyBDQINo.1359933del
>>1359929
不,我不知道
為什麼!+[] = true?
為什麼![] = false?
為什麼 ([] == ![]) = true ?
為什麼 ([] == [])= false ?
無名19/08/18(日)16:04:20 ID:aHqxj6bcNo.1359936del
檔名:1566115460029.png-(172 KB, 704x245)
172 KB
>>1359929
F12還要會開Console(主控台),還要會下指令,這噗算是基本耶....
無名19/08/18(日)16:09:56 ID:h9M.OuvgNo.1359939del
>>1359933
絕大部分都能用數學的常識去理解
除了JS
無名19/08/18(日)16:11:33 ID:KmFFAD46No.1359941del
>>1359936
連f12都不會用
要怎麼抓色色的東西
歡迎來到資本色會19/08/18(日)16:14:08 ID:aHqxj6bcNo.1359944del
檔名:1566116048447.png-(79 KB, 419x248)
79 KB
>>1359941
窩不知道耶......,信用卡吧?
無名19/08/18(日)16:24:11 ID:m2DAaWJUNo.1359952del
>>1359941
......熊貓?
發現剛才的有瑕疵,唉黑19/08/18(日)16:26:26 ID:aHqxj6bcNo.1359954del
檔名:1566116786548.png-(58 KB, 419x272)
58 KB
>>1359933
([] == []) 兩個不同ARRAY = false

([] == ![]) ,![]=0,陣列拿長度比較運算,[]=0,([] == 0) = true

![] = false ,因為[]可以被當作是物件(Associative array),同!{}=false

!+[] = true,實際上是陷阱,等同!+{}
無名19/08/18(日)16:36:03 ID:aHqxj6bcNo.1359966del
檔名:1566117363256.png-(29 KB, 800x473)
29 KB
>>1359954
!+{} ,這個東西測試了一下,應該表示為!(+{}),內容物如果為空,NaN,false,undefined,通通都會轉變為true,
換言之,加號是轉型用的。
無名19/08/18(日)16:44:52 ID:Sf01lz0cNo.1359974del
>>1359966
再問一句
懂這些的人是不是平常都準備
一些粗來玩的圖來回覆用?
無名19/08/18(日)16:46:40 ID:TEs36AmgNo.1359975del
>>1359974
現在你知道粗乃丸實際上是被精障跟政治廚搞臭的了

下一屆不意外還是投給粗乃丸
無名19/08/18(日)16:48:42 ID:u3Dn/N0YNo.1359976del
檔名:1566118122543.jpg-(131 KB, 800x864)
131 KB
那借串問一下好了,有學LISP的島民嗎?
這糾寺會蛇模綜合只會掛佐助哭哭的那隻寫鋪好的原因19/08/18(日)16:49:18 ID:aHqxj6bcNo.1359978del
檔名:1566118158555.png-(34 KB, 800x473)
34 KB
>>1359974
噗喜翻粗乃丸的工程師噗存在!!!
無名19/08/18(日)16:50:01 ID:CponLdPQNo.1359979del
>>1359933
個人理解 我javascript也沒很熟

首先一開始的!+[] 其實要看成!(+[])
+號在前面的東西加不了的時候不當加法用 而是把後面的東西轉成數字返回 所以[]變成0
!在後面的東西不存在的時候返回true 存在的時候返回false js把0當成不存在 所以!0是true
然後true+[] 前後都不是數字 所以兩邊都轉成字串再相加 "true"+""是"true"
所以boolean的true就轉成字串的"true"了

然後後面![]
[]是一個存在的東西 所以![]返回false

"true"+false前面是字串 所以後面boolean的false轉成字串的"false"
"true"+"false"是"truefalse" 字串長度9 完成
['A','B'] != 219/08/18(日)17:04:54 ID:aHqxj6bcNo.1359990del
檔名:1566119094143.png-(69 KB, 420x247)
69 KB
>>1359954
關於[]陣列的特性,測試了一下發現
>陣列拿長度比較運算
並非正確。
//--------------------
實際為當[]內容物為空或是1個內容時,會以內容物當作當作自身表達
例如
['A'] == 'A'
[15] == 15
[0] == 0
[] == "" == 0
//-----
然而使用比較嚴謹的===比較後,就都會是false了。
無名19/08/18(日)17:06:23 ID:URCqlk.kNo.1359991del
查了一下,Math.max()不是指浮點的最大值,而是陣列中的最大數字
設定上,你丟空的東西進去,輸出就是-Inf

而設定成-Inf的理由是,比如你要自己寫一個max函數
目的是從一個陣列裡面找出最大值

那麼你可能會這樣做
1. 給他一個初始值
2. 從陣列第一個數字開始找
3. 如果第一個數字大於初始值,那麼把初始值換成這第一個數字
4. 往下一個位置尋找,直到最後一個位置

所以初始值必須設定成比任何一個數字都還要小
這樣當只有一個數字時,就能保證輸出是那個數字

並且當使用者什麼數字都不丟的時候,也會有輸出
而那個輸出就是你設定的初始值,負無限大

不過其實你也可以預設為第一個數字
這樣可以讓使用者知道什麼東西都沒放進去時會出錯
無名19/08/18(日)17:07:07 ID:trL40xwkNo.1359994del
看完這串之後
......我該慶幸我是選C#作為入門嗎
不然薪水上不去19/08/18(日)17:10:16 ID:aHqxj6bcNo.1359995del
檔名:1566119416975.png-(48 KB, 400x275)
48 KB
>>1359994
不會,因為除非你有辦法深耕後端跨機械溝通,不然你還是有很大機率要去學JS
無名19/08/18(日)17:11:21 ID:dqA6XioQNo.1359996del
雖然取名為JavaScript是為了吃Java豆腐
但JavaScript之於Java~ 就像雞掰之於雞一樣毫無關係
把JavaScript簡稱為Java的傢伙~ 就是雞掰
無名19/08/18(日)17:49:24 ID:si3eZkTUNo.1360026del
>>1359996
就是被oracle買了,所以因為品牌要統一才改的吧。
無名19/08/18(日)22:48:43 ID:v78492UENo.1360314del
檔名:1566139723787.jpg-(40 KB, 1500x500)
40 KB
只論環境的話沒有比js更方便入門的語言了
不過論噁心程度也沒有什麼語言比的上

雖然現在是好很多啦,有strict,寫的時候多注意一下也還沒問題...
無名19/08/18(日)23:21:02 ID:nHD7Un1cNo.1360342del
>>1359916
>>薪水還屌打只會寫C,C++,JAVA的應屆大學畢業生

前提是要有涉略前端框架, 不然 JS 的薪水跟學 PHP 一樣起伏很大
好吧,其實窩還真的遇過19/08/18(日)23:28:11 ID:aHqxj6bcNo.1360350del
檔名:1566142091044.png-(34 KB, 800x473)
34 KB
>>1360342
哪個前端工程師不懂前端框架?
無名19/08/18(日)23:33:06 ID:m2DAaWJUNo.1360354del
問個問題
我大學跟研究所都寫過什麼複雜的程式
(大多都是把物理矩陣丟給電腦運算而已)

我出社會後還是很可能得自學程式?
還是公司會把某個需要程式的任務甩在我臉上?
無名19/08/18(日)23:34:09 ID:6AdyBDQINo.1360355del
>>1360350
我啊
我大學就有堂課就是拿JS做遊戲,沒有套框架

再說,比薪水根本沒有什麼意義
再資深前端、後端、全端還不是都被Fortran、cobol這類冷門語言屌打
誰會想學這鬼東西 ==
無名19/08/18(日)23:40:37 ID:S3kByJGwNo.1360363del
>>1359895
0.5
0.25
0.125
因為二進制的關係
例如剛進來的工程師19/08/18(日)23:41:08 ID:aHqxj6bcNo.1360364del
檔名:1566142868664.png-(55 KB, 800x500)
55 KB
>>1360354
你要學會如何把需要程式的任務甩到另一個衰鬼身上。
無名19/08/18(日)23:46:07 ID:v489JbMUNo.1360369del
>>1360354
>我出社會後還是很可能得自學程式?
>還是公司會把某個需要程式的任務甩在我臉上?

看公司制度與需求

另外學校寫的跟公司寫的需求面向不一樣
在學校寫的程式通常都不太管可維護姓
公司大部分的職位都不需要去接觸太複雜的演算法
無名19/08/18(日)23:57:45 ID:6AdyBDQINo.1360380del
>>1360363
並不是
浮點數在IEEE754定義,分為三個部分 (符號)(指數)(分數)
其他複雜部分就不提了
簡單的回推其值的話,可以寫成 (符號)*(分數)*2^(指數)
±0.5、±0.25類的不會有誤差的原因是因為指數部分用2為基底(±1*2^(-1)、±1*2^(-3))
跟幾進位沒有關係
無名19/08/18(日)23:59:56 ID:fQIFmbuINo.1360385del
>>1360354
小公司的話,什麼都可能甩到你臉上叫你做

大公司的話,就算你想去搶都搶不來,因為有專業的人在做
無名19/08/19(一)00:09:56 ID:7hqGS7K2No.1360395del
>>1360380
那就是二進制小數啊...
如果你用的是三進制的bit,發展出來的浮點系統就會是0.333...才沒誤差
無名19/08/19(一)00:18:08 ID:Xqx4v4tgNo.1360402del
>>1360380
>用2為基底
>跟幾進位沒有關係

...
無名19/08/19(一)00:18:23 ID:vil2fI9QNo.1360403del
>>1360395
其實也有10為基底的浮點數標準
算法很簡單,就是 (符號)*(分數)*10^(指數)
也就是說0.098765就可以直接寫成 98765 * 10^(-6)
如個用以2為基底浮點數標準,這會是很醜的數字

只是C語言用的標準是以2為基數的浮點數
而很多語言也跟C一樣用了該標準
無名19/08/19(一)00:23:33 ID:7hqGS7K2No.1360410del
>>1360403
並不是C語言決定用這標準
而是硬體就這樣設計,C只是照著硬體用而已
是某些高階語言想解決這個人類看起來不該有誤差但硬體算出來就是有誤差的問題
才不使用硬體的原生浮點運算、另外搞了一套十進制小數
三進位處理會以輸家的身份被換下,對垃圾山的老大來說這很適合他吧!19/08/19(一)00:26:47 ID:rAxfSPuUNo.1360414del
檔名:1566145607094.png-(61 KB, 800x473)
61 KB
>>1360403
在量子運算真正出現以前,電腦處理全部還會是bit開關的二進位。
無名19/08/19(一)00:28:16 ID:1rt2.cCwNo.1360416del
>>1360369
出社會後才知道
哇,原來Code能寫得這麼乾淨有條理啊!!!(驚訝
哇,原來這邊不需要搞到這麼複雜啊,幹你教授!!!(開心
無名19/08/19(一)00:33:01 ID:HXtotN5ENo.1360418del
>>1359995
JS(小學生)好難學
儘管如此窩還是撐過來了,現在只要薪水足夠窩就很開心惹19/08/19(一)00:34:16 ID:rAxfSPuUNo.1360419del
檔名:1566146056486.png-(110 KB, 300x215)
110 KB
>>1360416
現實:
幹你娘這三小狗死爛扣,上一個人的良心是給狗啃還是怎樣
幹你娘這個外包是全部交給大學生寫嗎?
幹你娘窩想下班
無名19/08/19(一)00:35:59 ID:vil2fI9QNo.1360422del
>>1360410
你這樣不就倒果為因了
是因為有浮點數的標準出現
硬體才採用該標準,實做了2為基底的浮點數運算

不過C語言的出現比浮點數標準出現的更早
要說C語言配合硬體,除非知道最早期C語言的浮點數實作方法
無名19/08/19(一)01:23:20 ID:Xqx4v4tgNo.1360448del
>>1360422
你才倒果為因吧
當初就是因為世界上幾乎所有的電子計算機都是2進制
754才會以2進制來定好嗎
不然以十進制來定標準 最好是有人會真的實作十進制硬體出來
還不是變成各家實作都作在二進制硬體上 再過一層BCD
根本脫褲子放屁
無名19/08/19(一)01:32:01 ID:rsCA4LMMNo.1360455del
>>1360414
量子電腦:這個bit可能是0,也可能是1。總之在你讀取的那一刻才會真正決定
無名19/08/19(一)01:36:27 ID:FttwsngQNo.1360461del
電腦並不會十進制你覺得他會也不過是用二進制去模擬十進制
你可以去玩玩低階語言
德克斯特的實驗室裡~♪19/08/19(一)02:00:09 ID:rAxfSPuUNo.1360471del
檔名:1566151209255.png-(88 KB, 600x600)
88 KB
>>1360461
電腦也無法告訴你蒂蒂是如何通過新設定的防護安全裝置。
無名19/08/19(一)03:07:43 ID:foTRZ9q.No.1360497del
不好意思請問一下 NaN是運算出現0/0之類的東西表示無法定義的表示對吧?

那個NaN可以直接當字串來處理的嗎?
無名19/08/19(一)03:49:17 ID:L5BCruc6No.1360506del
>>1360497
雖然NaN的意思是「不是數字」
但一般而言NaN的型別仍然是"數字"
無名19/08/19(一)03:50:25 ID:Rrb5tobENo.1360507del
檔名:1566157825721.png-(11 KB, 112x108)
11 KB
>>1360419
>現實:
>幹你娘這三小狗死爛扣,上一個人的良心是給狗啃還是怎樣
>幹你娘這個外包是全部交給大學生寫嗎?
>幹你娘窩想下班

有時候是可讀性比較讓人抓狂
>時而用TAB,時而用一連串的空白做縮排
>奇妙的斷行位置及斷行數量
>單看名稱完全意義不明的變數、命名規則隨心情而定的變數
>捉摸不定的大括號開始及結束位置
>(因規定而被留下的)大量被棄用而註解掉的段落
>過於炫技的寫法卻沒有留下適當註解,事後問當初開發的人也說不知道這在幹嘛的程式
無名19/08/19(一)04:09:07 ID:D0ksmeasNo.1360516del
無名19/08/19(一)06:57:00 ID:1da56/qENo.1360535del
>>1359974
只是最近有個掛圖廚而已
無名19/08/19(一)06:59:12 ID:OO.mDYo.No.1360536del
>>1360448
講真的,我找了半天資料
我真的看不到浮點數使用2為基底跟電腦使用2進位有毛關係
或許一開始可能用2為基底實做比較方便
但像這種問題,都可以用整數自幹一個10為基底的浮點數
小數點想要有幾位就有幾位,也不會有誤差
怎麼可能到硬體上就無解?

另外制定這個標準的是Intel,連新版的754也是Intel發表的
Intel哪會那麼好心想那麼多,當然是自己方便就好了
無名19/08/19(一)07:33:15 ID:1da56/qENo.1360543del
>>1360536
>都可以用整數自幹一個10為基底的浮點數
那你整數在硬體上如何儲存、運算?
計概回去重讀好嗎
無名19/08/19(一)07:34:54 ID:1MwjaJIANo.1360544del
>>1360455
但是qubit是會儲存相位的
無名19/08/19(一)07:46:28 ID:oMfsSSb6No.1360548del
>>1360461
組合語言
算溢位鰻討厭ㄉ
雖然沃野忘了
無名19/08/19(一)08:31:54 ID:Q8QIqgPoNo.1360560del
>>1360543
你是不是沒看懂我在說什麼,只是在自以為是阿
我一開始就是在說浮點數,你在那邊電腦用二進位
公三小,小學國文重讀好嗎
無名19/08/19(一)08:43:09 ID:C.fT9HrkNo.1360563del
>>1360560
馮紐曼架構至少1945年就有了
IEEE754浮點數的標準在1985發布
我實在不知道有什麼理由可以說浮點數用二進位儲存跟硬體沒關係

另外,就算你想用十進位搞浮點數也是避免不了誤差問題
無名19/08/19(一)09:08:09 ID:Q8QIqgPoNo.1360569del
>>1360563
所以我說用二進位做浮點數會比十進位來的方便
畢竟計算過程中不需要做轉換

但二為底的小數問題是,大多數十進位的小數沒辦法被二整除
導致出現無窮小數,無窮小數不論有效位多少都無法表示
但十進位的小數不會在轉換時有這種誤差
所以就不會有0.1+0.2≠0.3這種問題
無名19/08/19(一)09:08:19 ID:ndB3HtjkNo.1360571del
>>1360354
大公司的話,你很適合去幹接近底層與機器的東西(人才少薪水多)
大公司會有其他員工與部門負責UI上層的東西,你要與他們溝通配合討論

小公司的話,你會變通才
老闆:「這個你學一下,不難」(丟入門資料)
(被迫)花點力氣學其他語言與技術也不是壞事(?)

即使是同一領域,方法與工具也不斷進化
像是該語言推出新版本、有人發布了好用函式庫、新東西不支援舊東西了
即使龜在同一領域,為了增加工作效率,學習是持續且必要的事情
無名19/08/19(一)09:14:54 ID:kqFXPLZENo.1360574del
>>1360536
>我真的看不到浮點數使用2為基底跟電腦使用2進位有毛關係
你是在開玩笑嗎?
無名19/08/19(一)09:17:45 ID:Qag4vR.ANo.1360575del
>>1360569
難道十進位就沒有循環小數嗎

除非啦
除非
除非你只需要面對所有十進位可表示的非循環小數的有理數的加減法和乘法(沒有除法喔)
那我還可以說做個十進位的系統不算完全完全沒有意義
但誰要為了這種用途限定到幾乎沒有實際用途的計算做新硬體啊
連軟體都不會想寫
無名19/08/19(一)09:36:28 ID:ILzxvShgNo.1360584del
>>1360536
>浮點數使用2為基底跟電腦使用2進位有毛關係
這就是問題了啊
硬體就是2進位,在計算時當然也是2進位
無名19/08/19(一)09:43:26 ID:JUYBmSnkNo.1360587del
>>1359895
為啥連這個都有複製文ww
無名19/08/19(一)09:43:57 ID:r7uCyqxANo.1360591del
花了兩個月看了歐萊爾的PHP跟python書
寫程式還是繼續翻手冊
島民程式太太是什麼時候可以刷題目的
我感覺還有一段距離啊......
無名19/08/19(一)09:52:58 ID:GkMnNvl.No.1360599del
>>1360536
2-base or 10-base floating point number在計算上沒什麼差
但是當你要做浮點數-整數(binary)轉換的時候
10-base會很難轉(電路設計很麻煩)

更別提當你要做整數-浮點數混合計算時
會有多抓狂
無名19/08/19(一)09:55:33 ID:Q8QIqgPoNo.1360601del
>>1360574
>>1360584

現在想想確實有關係
這樣硬體設計簡單很多

>>1360575

我一開始也沒說十進位浮點數不會有誤差
我只是說也有這種表示法
當然這種表示法實用性太低,一般都不會想用
但不代表這種表示法沒有用
不然新的標準幹嘛納入10為基底的浮點數
無名19/08/19(一)09:56:03 ID:GkMnNvl.No.1360603del
>>1360591
寫程式永遠有翻不完的書 只是翻的書不一樣

寫Code不翻書的 程度也就停在他不翻書的那一刻
那隻乃丸也是窩19/08/19(一)10:03:54 ID:rAxfSPuUNo.1360609del
檔名:1566180234328.jpg-(80 KB, 800x473)
80 KB
>>1360516
早就在程設版看過惹
無名19/08/19(一)10:11:31 ID:ndB3HtjkNo.1360617del
>>1360591
一邊查資料、一邊解公司任務是常態

別忘了做學習筆記
像我是做筆記網站(或App、雲端文件)建立自己筆記
用搜尋一下就可以挖出自己的筆記,不像紙本要翻半天
無名19/08/19(一)11:21:06 ID:MheueGtYNo.1360702del
>>1360560
所以你的10為基底的浮點數如何不使用2進位來實作?
說來讓大家笑笑啊

暑假別顧著上島,教授放水讓你過的計概好好複習,知道嗎?
無名19/08/19(一)13:13:40 ID:C7IdCM0oNo.1360825del
>>1360601
>我一開始也沒說十進位浮點數不會有誤差
這跟你在 >>1360536 講的完全不一樣哦
>但像這種問題,都可以用整數自幹一個10為基底的浮點數
>小數點想要有幾位就有幾位,也不會有誤差
>怎麼可能到硬體上就無解?
無名19/08/19(一)18:04:16 ID:mHi1B/d6No.1361120del
>>1360617
我以為程式設計師可以直接寫下去不看書的
無名19/08/19(一)18:26:19 ID:ndB3HtjkNo.1361137del
>>1361120
IDE幫你自動補上的、或是自己寫到很熟的部份
這些有機會不須看書

但是職場會遇上不少狀況
「程式邏輯很好,怎麼執行出意外了?」
「客戶想在產品中放個時下最新的XX功能,雖然科技網站看過但是實際上怎麼完成?」
「這個寫法被新版棄用了編譯不過,我需要新寫法」
結果就如>>1360603所說,進入神的工程師領域之前,
我們只能乖乖當個謙虛的凡人,在資訊世界不停學習
無名19/08/19(一)18:29:36 ID:csBfuv56No.1361140del
>>1361120
怎麼可能
上stackoverflow和github找方法是日常
無名19/08/19(一)18:31:10 ID:x0b/7X7UNo.1361141del
>>1361120
這個命題很奇怪,我看官方doc跟stackoverflow算看書嗎
無名19/08/19(一)18:44:15 ID:jUId.vUQNo.1361155del
>>1361120
大部分程式設計師也只是一般人 大多的函式語法都是別人弄好的
你不看怎麼知道怎麼做呢
無名19/08/19(一)19:16:55 ID:LMz2svqgNo.1361210del
>>1361120
你這說法其實有點像
"我以為老師上課跟學生討論都可以不用翻書的"

只是做固定事情的話久了的確可以不用,不過寫程式就跟老師問答學生一樣,很多東西都不是固定的
無名19/08/19(一)19:47:41 ID:L5BCruc6No.1361242del
浮點數是一種表示方式,沒有規定非得要幾進位不可
只要寫成$a\timesb^e$這種形式,然後a, e都是整數的話就叫作浮點數
而b就是這個浮點數的基底,代表在b進位底下可以用這個形式表達
對「任何」浮點數來講
1. 有理數,分母不是b的質因數乘積
2. 無理數
上面兩種情況都沒辦法使用有限位數來表達
舉例來說6不能用10的質因數乘積來表示
也不能用2的質因數乘積來表示
所以1/6在以2為底或以10為底的浮點數都會是無限小數

IEEE 754是一種數字儲存和計算的標準
這個標準是根據2進位來制定的
因為硬體實作2進位最容易
而表達a和e都需要一些儲存空間
所以如果符合前面說的條件,或是表達的位數超過a或e的位數
那麼IEEE 754的格式就一定會有誤差

追根究柢其實>>No.1360363根本沒說錯什麼
以2為基底就是二進位的意思
0.5, 0.25, 0.125剛好都是2的冪次
數字也沒大/小到讓a或e需要很多位數來表示
所以表示和儲存不會產生誤差
無名19/08/19(一)20:17:45 ID:4rqI7URUNo.1361261del
>>1361120
寫ACM之類的程式競賽是可以不用翻書啦
沒有intellisense就會變成智障19/08/19(一)20:32:50 ID:rAxfSPuUNo.1361270del
檔名:1566217970852.png-(71 KB, 422x250)
71 KB
>>1361261
還是要翻書(最佳解答,演算過程思維,數學原理)

>>1361210
>>1361155
>>1361120
有巨人的肩膀幹嘛不踩上?時時更新自己的想法是很重要的。
更何況多學一點薪水就可以談高一點,唉嘿

>>1361242
>>1360702
>>1360599
>>1360601
你們可還真閒阿,這種問題不是GOOGLE一下就知道了?
幹嘛回答或持續解釋?窩上班偷偷乃丸也沒你們那麼油耐心。
人生漫漫,應該花在更有價值的事物上,像是粗乃丸!
無名19/08/20(二)00:12:31 ID:IRKx05YINo.1361470del
可是面試的時候,有時候要考程式解題
那個時候好像也不能翻書,查資料
這種時候該怎麼辦?
多刷leetcode嗎?
1.程設版有回答過類似的,2.窩的粗乃丸圖庫殘量....19/08/20(二)00:40:42 ID:dlMULds6No.1361500del
檔名:1566232842864.gif-(293 KB, 500x500)
293 KB
>>1361470
窩其實不是很喜歡在四格板回答這種問題...
無名19/08/20(二)00:59:35 ID:UP0wBqpENo.1361522del
>>1361470
刷這個可以增進數學能力
對面試也有幫助

但是對工作的幫助..畢竟還是多人協作
leetcode的部分技巧代價是降低可讀性
無名19/08/20(二)01:23:16 ID:jNHo3HmkNo.1361556del
人類追求精心設計的工具
但好像只有為了解決某樣問題,粗製濫造的工具才能活下去
50年前的C/UNIX被稱為病毒,還有人看不下去,專門寫本書去吐嘈他
但當時人們所謂「優秀」、「優雅」的解決方案,卻沒幾個活的下來,剩下的只能與那「病毒」C語言雜交,才能在現代佔有一席之地
而20年前,JavaScript花了十天便完成,他甚至連自己的名字都保不住,只能從當時火紅的java借名字,才能在勉強出現在眾人的眼前
而他一出現便受到了無數批評,從一開始就不是個受人喜愛的工具
但20年過去了,比他更優秀的競爭對手消逝,而JavaScript卻還活著,滄海桑田,但與20年前相同的是,人們還依舊繼續抱怨
無名19/08/20(二)01:26:20 ID:CF/gtyGsNo.1361558del
>>Q8QIqgPo
你真的是菜到不行,菜到我都不知道該怎麼電
我能給你最好最簡短的建議就是閉起嘴不要再出來丟人現眼了

浮點數當然跟二進制有關
進制不是只有整數部份,小數後也可以有非十進制
例如十進制的13.625的二進制就是1101.101
IEEE754沒有直接把這個數學上的二進制小數寫進記憶體裡
而是另外加了一些trick讓他範圍更大、佔空間更小,順便處理某些特殊情況
但本質上來說他的數學意義還是一個二進制小數
-13.625 = -1101.101 = -(1+0.101101)*10^11,把固定的部分省略只寫-、101101、11這三個東西到記憶體裡
在這數學式裡可以看出來那個浮點基底就是綁定成進制基底
不是為了美觀、也不是為了簡單才讓他們相等,而是不相等會讓整個機制崩壞

或是退回最開始的話題
0.5沒有誤差而0.1有,是來自他們作為一個二進制小數時的性質,而不是他們在IEEE754裡的性質
即使你不用IEEE754,換用任何一個衍生自二進制小數的浮點系統都會得到相同的性質
這個性質不是IEEE754搞出來的,當然也不可能源自IEEE754當中的常數設定


>>1360587
因為另一串的同一篇也是我回的
同樣的輸入導致同樣的結果
無名19/08/20(二)01:34:38 ID:CF/gtyGsNo.1361573del
>>1361556
>>比他更優秀的競爭對手消逝,而JavaScript卻還活著
我覺得不能這樣說
因為JS壟斷了瀏覽器市場,你不得不用

你不屑用C可以拿組語刻一套你自己的語言的編譯器
開放市場大家都能自由競爭,誰能勝出都靠實力
但JS不一樣,JS是在客戶端的瀏覽器上執行的
你不能一個不爽就自己寫另一套語言,你寫出來客戶端一樣不給你支援
你要推翻JS必須先打下瀏覽器市佔率,這難度遠比一般程式語言的市場還高
就像winapi根本就爛得像屎,但某些時候還是得用
無名19/08/20(二)01:40:51 ID:jNHo3HmkNo.1361581del
>>1361573
說壟斷
js的公司根本沒那能力
當時真的壟斷市場的是IE
而微軟也出過與js競爭的產品
但最後活下來的只有js
無名19/08/20(二)15:27:16 ID:kW4.xa7sNo.1362171del
>>1361573
>什麼是WebAssembly
幹這行的還不懂遇到什麼都先CanIUse一下?
無名19/08/20(二)17:10:10 ID:ss4A/oIQNo.1362237del
>>1361500
可以提示一下是程設版的哪一串嗎?
或是提供關鍵字,比較容易搜尋到
感謝你
才....才不是為惹你呢!哼!19/08/20(二)22:48:33 ID:dlMULds6No.1362557del
檔名:1566312513983.jpg-(89 KB, 540x499)
89 KB
>>1362237
htps://aqua.komica.org/cs/pixmicat.php?res=13547

htps://aqua.komica.org/cs/pixmicat.php?res=13362

htps://aqua.komica.org/cs/pixmicat.php?res=13145

htps://aqua.komica.org/cs/pixmicat.php?res=13133

htps://aqua.komica.org/cs/pixmicat.php?res=13089

htps://aqua.komica.org/cs/pixmicat.php?res=13204

基本上這些問題可以說是被問到爛掉的
1.面試要準備甚麼
2.刷題要準備甚麼,刷了有沒有價值
3.程式碼品質如何提升
4.哀,太苦了.....

簡單來說,
1.業內偏商業運用(高階語言與需求),基本上以可讀性為主,可讀性又會往架構分層那邊專精。
2.硬體底層(純邏輯運算),則是包含各種數學運用,相對可讀性與分層就會被排在後面。
3.不管如何,對於新手來說,時時刻刻整理自己的思維,有機會便進行大小重構優化邏輯與文章敘述則是進步的不二法門。
4.時常保持丸之心,不然就只能太苦與佐助哭哭,哈!
無名19/08/21(三)00:01:52 ID:j/ajef3INo.1362636del
>>1360026
???
兩種語言的名字跟Java被甲骨文收購完全無關吧

js 的名字如上是為了吃豆腐才這樣取的
那已經是IE4左右的時代了,直到現在這兩種語言的名字都沒變過啊
無名19/08/21(三)01:54:20 ID:MROsYeqINo.1362727del
檔名:1566323660870.png-(25 KB, 800x473)
25 KB
>>1362557
感謝你 粗乃丸
我也找了一張粗乃丸當附圖


【刪除文章】[]
刪除用密碼: