ask-why 板


LINE

※ 引述《xiaoa (沒有靈魂的人)》之銘言: : 這個...計時是以自然數計算的, 準確的叫法要在前面加一個"第" : 21世紀應該叫"第21世紀", : 英文裡頭是 "21th century", 不是21 centuries : 前者翻譯 成第二十一個世紀; 後者是 二十一個世紀, 即 2100個年頭 這個計較還非常漂亮 那看能不能解決我們程式設計師這個問題 XD int a[10]; 如上,陣列 a 其實是從 0 開始 但是因為很多數值運算不是從 0 開始 (比如 UI 需求) 所以我們可能在使用時做些調整,比如 void F(int i) { a[i-1]; //當 i=1 時,會引用到 a[0] } 如上,我們會稱陣列 a 是 0's base 而函式F 則創造出了 1's base 的介面 癈話是很多啦 但如果有默契,一般 RD 在註解寫一句 0's base 或 1's base,就已經算很清楚了 可是和沒默契的朋友溝通時,我們還是可能冒出這句: a 的第 1 個元素 問題來了,如果這句指 a[0],那每次要換算很累 如果這句指 a[1],大概要被人從頭嘲笑到尾:你學程式幾年啦,連這都不知道 這狀況嚴重到都快 PO 恨板了 XD 有時想,難怪這領域被人說宅 連自己人都不放過自己人,不該計較時計較,能嘲笑時就嘲笑 XD (但程式的確是連 1 這樣的誤差都不能有 所以如果是很計較的 spec 文件,通常乾脆附一段程式 用程式來講解 spec 才沒有爭議;spec 並沒限制只可語意描述) 那用 a 的 0 號元素,a 的 1 號元素 這樣會比較好懂嗎? --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.219.65.16 ※ 編輯: HuangJC 來自: 61.219.65.16 (06/19 10:31)
1F:推 daze:追本溯源,當初為什麼要把a陣列的第1個元素命名為a[0]呢? 06/19 11:25
2F:→ daze:像Mathematica的陣列就是從a[1]開始讀的。 06/19 11:26
3F:→ HuangJC:Pascal 也可以(忘了語法 XD),C 有它的缺點,被攻擊,但它真 06/19 11:35
4F:→ HuangJC:的替 CPU 做了較少的包裝,讓你覺得有好的語法,又能觸到CPU 06/19 11:35
5F:→ HuangJC:什麼都包起細節是可以的,大走高階語言;就變慢呀~ 06/19 11:36
6F:→ HuangJC:工程師接觸客戶用模糊語意,又接觸機器做嚴格語意,雙面人.. 06/19 11:39
7F:→ HuangJC:老是被人說'只懂和機器溝通',那可真不公平 XD,為什麼不說 06/19 11:40
8F:→ HuangJC:我們兩種都行呢? 06/19 11:40
9F:→ Keiichi:在C語言中a是位址, a[i]就是取a+i這個位址上的元素 06/19 12:05
10F:→ Keiichi:高興的話 故意寫成i[a]也可以 06/19 12:09
11F:→ HuangJC:XD 我從沒想過,但這樣太靠杯了 XD,好用嗎?有沒有用的地方 06/19 12:16
12F:推 littleshan:因為 C 可以直接對 pointer 進行運算 06/19 12:28
13F:→ littleshan:陣列從 0 開始可以減少許多加一減一的運算 06/19 12:29
14F:→ littleshan:從而提升速度 06/19 12:29
15F:→ HuangJC:光是'C'這個命名,本身就很不浪漫 *_* ;算了,工程不浪漫 06/19 12:30
16F:→ HuangJC:它是'B'語言的下一版;我的天,這樣命名的..真的只為了方便 06/19 12:31
17F:→ littleshan:0 開始的陣列只是和一般的直覺不符合 06/19 12:31
18F:→ littleshan:其實在計算上會方便很多 06/19 12:32
19F:→ HuangJC:那我們回原題,世紀的計算,也許 0'base 也會輕鬆很多 06/19 12:32
20F:推 PrinceBamboo:跟原題有什麼關係 請問這裡是程式設計板嗎... 06/19 12:40
21F:→ HuangJC:不是;那請問這裏不能談程式嗎? 06/19 13:01
22F:推 eliec:本版的宗旨就是離題 06/19 13:04
23F:→ Keiichi:To HuangJC: 參加IOCCC時可以用 http://www.ioccc.org/ 06/19 16:10
24F:→ HuangJC:XD A^=B^=A^=B 不知這個算經典還是經典混亂 06/19 16:21
25F:推 wild68:我也想到一樣的問題,Perl 的陣列也是從0開始 06/20 21:59
26F:→ HuangJC:從0開始的很多,重點是不講清楚就被人雞蛋裏挑骨頭,講清楚 06/21 20:03
27F:→ HuangJC:就有一大堆廢話在講重覆的基礎而不是重點 06/21 20:03
28F:推 KanoLoa:推 eliec:本版的宗旨就是離題 ( XD 大推 06/23 04:06
29F:→ HuangJC:要說談程式設計就離題,其實我不是很認同.不少工程師知道, 06/25 02:55
30F:→ HuangJC:電腦語言再熟,domain knowledge 如果沒有還是寫不出來的 06/25 02:55
31F:→ HuangJC:好像不會下象棋,如何寫象棋程式?不會稅法,如何寫會計程式? 06/25 02:56
32F:→ HuangJC:同一個問題,用英文描述,總不會叫離題吧;那為什麼用電腦語 06/25 02:57
33F:→ HuangJC:言描述就叫離題?是因為太陌生嗎?另眼相看? 06/25 02:57
34F:→ HuangJC:數學上說植樹問題,而電腦語言就是陣列註標問題,根本一樣.. 06/25 02:58
※ 編輯: HuangJC 來自: 61.59.179.152 (06/25 02:59)
35F:→ HuangJC:它在溝通上產生的困擾,也根本是同一個範圍 06/25 02:59
36F:→ HuangJC:而電腦語言是非常沒有模糊空間的,嚴重衝擊著溝通上的奇點 06/25 03:01
37F:→ sneak: 其實在計算上會方便很多 https://noxiv.com 01/06 23:42







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Soft_Job站內搜尋

TOP