增加網址:
文章備註、標題(會記錄下來,但是暫時不會顯示):
[四格]無題 無名 19/08/18(日)14:36:38 ID:LuQ8v4aM No.1359819
評分:0, 年:0, 月:0, 週:0, 日:0, [+1 / -1] 最後更新:2019-08-19 05:45:28
附圖
等等 為什麼啊
無題 無名 19/08/18(日)14:37:14 ID:LuQ8v4aM No.1359820
回覆: >>1359852
附圖
無題 無名 19/08/18(日)14:49:28 ID:wI1pC7lY No.1359835
你現在知道為什麼一堆人很肚爛JavaScript了吧
甚至嘲笑它根本不算是真正的程式語言
無題 無名 19/08/18(日)14:52:21 ID:CponLdPQ No.1359839
>>1359835
沒事兒
常見的鄙視鍊而已
無題 無名 19/08/18(日)15:02:34 ID:Ehm52nAk No.1359852
回覆: >>1359861
>>1359820
哪來的n
無題 無名 19/08/18(日)15:08:08 ID:f0L48YH. No.1359861
其實裡面有好幾個都很合理
true跟1本來就是同數值不同型態
0.1+0.2本來就會有浮點誤差,就連C語言都會發生

>>1359852
"NaN"
無題 無名 19/08/18(日)15:10:46 ID:LuQ8v4aM No.1359863
回覆: >>1359866
>>1359861
其他幾個我大概猜的出來 但91那兩個我不曉得他怎麼會加減判定成兩個不同的型別
無題 無名 19/08/18(日)15:14:30 ID:f0L48YH. No.1359866
回覆: >>1359869
>>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:LuQ8v4aM No.1359869
>>1359866

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

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

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

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

>>1359884
boolean不能運算,只能轉int
true-true會先轉換成1-1然後才變成0
型態轉了就轉了,除非你手動指定不然不會再嘗試轉回boolean
無題 無名 19/08/18(日)15:39:43 ID:Ed8WmwpE No.1359904
>>1359886
https://luna.komica.org/23/pixmicat.php?res=471260#r471325
無題 無名 19/08/18(日)15:40:32 ID:KmFFAD46 No.1359906
回覆: >>1359916
>>1359835
方便的代價罷了
所以入門千萬不能選js
無題 無名 19/08/18(日)15:44:01 ID:Sf01lz0c No.1359908
>>1359819
誰能解釋一下那個(!+[]+[]+![]).length是怎麼算的???
無題 薪水還屌打只會寫C,C++,JAVA的應屆大學畢業生 19/08/18(日)15:53:01 ID:aHqxj6bc No.1359916
回覆: >>1360342
附圖
>>1359906
前端工程師表示毫無參考價值。
無題 無名 19/08/18(日)15:56:49 ID:jU.OSxkY No.1359925
>>1359908
(!+[]+[]+![])
! + NaN + NaN + (![] > ![object])
! N a N N a N ! object

應該是這麼9個字?
無題 無名 19/08/18(日)15:57:49 ID:7ilLZF5w No.1359928
回覆: >>1359932
附圖
>>1359908
還好我不寫java
無題 無名 19/08/18(日)15:59:29 ID:CponLdPQ No.1359929
>>1359908
>>1359925
F12一下就知道了


!+[]+[]
"true"

![]
false

!+[]+[]+![]
"truefalse"
無題 順帶一題窩不是前端工程師 19/08/18(日)16:00:48 ID:aHqxj6bc No.1359930
附圖
>>1359925
!+"" = true
[]+""=""
![]+"" = false
!+[]+[]+![] => true+""+""+false
無題 無名 19/08/18(日)16:02:59 ID:jU.OSxkY No.1359932
>>1359928
>>1359929
好吧該死的JS
還好我是學java的
無題 無名 19/08/18(日)16:03:09 ID:6AdyBDQI No.1359933
>>1359929
不,我不知道
為什麼!+[] = true?
為什麼![] = false?
為什麼 ([] == ![]) = true ?
為什麼 ([] == [])= false ?
無題 無名 19/08/18(日)16:04:20 ID:aHqxj6bc No.1359936
回覆: >>1359941
附圖
>>1359929
F12還要會開Console(主控台),還要會下指令,這噗算是基本耶....
無題 無名 19/08/18(日)16:09:56 ID:h9M.Ouvg No.1359939
>>1359933
絕大部分都能用數學的常識去理解
除了JS
無題 無名 19/08/18(日)16:11:33 ID:KmFFAD46 No.1359941
>>1359936
連f12都不會用
要怎麼抓色色的東西
無題 歡迎來到資本色會 19/08/18(日)16:14:08 ID:aHqxj6bc No.1359944
附圖
>>1359941
窩不知道耶......,信用卡吧?
無題 無名 19/08/18(日)16:24:11 ID:m2DAaWJU No.1359952
>>1359941
......熊貓?
無題 發現剛才的有瑕疵,唉黑 19/08/18(日)16:26:26 ID:aHqxj6bc No.1359954
附圖
>>1359933
([] == []) 兩個不同ARRAY = false

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

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

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

下一屆不意外還是投給粗乃丸
無題 無名 19/08/18(日)16:48:42 ID:u3Dn/N0Y No.1359976
附圖
那借串問一下好了,有學LISP的島民嗎?
無題 這糾寺會蛇模綜合只會掛佐助哭哭的那隻寫鋪好的原因 19/08/18(日)16:49:18 ID:aHqxj6bc No.1359978
附圖
>>1359974
噗喜翻粗乃丸的工程師噗存在!!!
無題 無名 19/08/18(日)16:50:01 ID:CponLdPQ No.1359979
>>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'] != 2 19/08/18(日)17:04:54 ID:aHqxj6bc No.1359990
附圖
>>1359954
關於[]陣列的特性,測試了一下發現
>陣列拿長度比較運算
並非正確。
//--------------------
實際為當[]內容物為空或是1個內容時,會以內容物當作當作自身表達
例如
['A'] == 'A'
[15] == 15
[0] == 0
[] == "" == 0
//-----
然而使用比較嚴謹的===比較後,就都會是false了。
無題 無名 19/08/18(日)17:06:23 ID:URCqlk.k No.1359991
查了一下,Math.max()不是指浮點的最大值,而是陣列中的最大數字
設定上,你丟空的東西進去,輸出就是-Inf

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

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

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

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

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

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

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

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

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

看公司制度與需求

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

>>1360575

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

寫Code不翻書的 程度也就停在他不翻書的那一刻
無題 那隻乃丸也是窩 19/08/19(一)10:03:54 ID:rAxfSPuU No.1360609
附圖
>>1360516
早就在程設版看過惹
無題 無名 19/08/19(一)10:11:31 ID:ndB3Htjk No.1360617
回覆: >>1361120
>>1360591
一邊查資料、一邊解公司任務是常態

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

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

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

只是做固定事情的話久了的確可以不用,不過寫程式就跟老師問答學生一樣,很多東西都不是固定的
無題 無名 19/08/19(一)19:47:41 ID:L5BCruc6 No.1361242
回覆: >>1361270
浮點數是一種表示方式,沒有規定非得要幾進位不可
只要寫成$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:4rqI7URU No.1361261
回覆: >>1361270
>>1361120
寫ACM之類的程式競賽是可以不用翻書啦
無題 沒有intellisense就會變成智障 19/08/19(一)20:32:50 ID:rAxfSPuU No.1361270
附圖
>>1361261
還是要翻書(最佳解答,演算過程思維,數學原理)

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

>>1361242
>>1360702
>>1360599
>>1360601
你們可還真閒阿,這種問題不是GOOGLE一下就知道了?
幹嘛回答或持續解釋?窩上班偷偷乃丸也沒你們那麼油耐心。
人生漫漫,應該花在更有價值的事物上,像是粗乃丸!