python为什么从0开始_为什么大多数编程语言中,索引都是从0开始
為什么大多數編程語言中,索引都是從0開始
世界上絕大多數語言,但凡涉及到了索引這個概念,索引都是從0開始的,對于初學者,難免覺得別扭,畢竟生活中,但凡涉及到和順序有關的概念,都是從1開始的,那么為什么絕大多數語言的索引,都喜歡從0開始呢?
關于這個問題,沒有明確的答案,我搜集整理了3個我認為比較具有說服力的理論,分別是
節省空間論
硬件初始狀態論
上屆,下屆差值論
1. 節省空間論
節省空間論強調,從0開始有利于節省內存空間,假如有4個元素,如果索引從0開始,那么最大索引就是3,如果索引從1開始,最大索引就是4
索引從1開始的十進制為:(1,2,3,4),對應的二進制為(1,10,11,100)
索引從0開始的十進制為:(0,1,2,3),對應的二進制為(0,1,10,11)
顯然,從索引1開始計數,會多使用一個bit位,在過去那種內存十分昂貴的年代,這是不被接受的,因此從一開始,索引就是從0開始的,后來大家都習慣了,即便內存很便宜了,大家還是從0開始計數索引
2. 硬件初始狀態論
其實和前面的節省空間論說的是一回事,不過是從硬件層面做了解釋,計算機底層是0和1,0和1又依靠硬件二極管的電位變化來表示,初始狀態下,用于計數的所有二極管都處于低電位,正好是0,因此索引從0開始計數
3. 上屆,下屆差值論
前面兩個雖然有一定道理,但是理解起來有點費力,第3個理論認為,索引的上屆和下屆的差值應該等于數列的長度,假設一個數列有N個元素,如果索引從1開始,那么描述索引的上屆和下屆就得這么寫
1 <= i < N+1
如果索引從0開始,就可以這樣寫
0 <= i < N
顯然,第二種寫法更美觀,第一種,讓人覺得很別扭
總結
以上是生活随笔為你收集整理的python为什么从0开始_为什么大多数编程语言中,索引都是从0开始的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 光源时间_天哪!你们居然都错了!D65光
- 下一篇: c#与access建立连接用作登录_Li