我之前使用Java和Python进行编程,但最近开始在很多事情上使用MATLAB(特别是计算机视觉算法)。
然而,MATLAB的数组索引从1开始,而不是像几乎所有我遇到过的编程语言那样从0开始。
我认为0索引的原因是这样的:在我看到的每个处理器中,地址索引都从0x00000000开始,比如一个8位处理器,如果我想保存5个数字,它们将存储在地址0x00000000到0x00000004。因此,在编程语言中使用从0开始的索引是有意义的。
当我搜索这个问题时,我发现List of 1-indexed programming languages?和http://en.wikipedia.org/wiki/Comparison_of_programming_languages_(array) 这两个链接很有用。
对于我来说,这不是很方便的表示方法,可能是因为我以前使用其他语言编码。但我仍然不明白为什么MATLAB(甚至是Julia)具有基于1的数组索引,提供了哪些优势。有人能列出一些优点吗?