Counting from zero is a very common practice in many computer languages, but why? Read on as we explore the phenomenon and why it is so widespread.
今天的问答环节是由SuperUser提供的,SuperUser是Stack Exchange的一个分支,是一个由社区驱动的问答网站分组。
超级用户读者DragonLord很好奇为什么大多数操作系统和编程语言都是从零开始计算的。他写道:
Computers traditionally tally numerical values starting from zero. For example, arrays in C-based programming languages start from index zero.
What historical reas*** exist for this, and what practical advantages does counting from zero have over counting from one?
为什么呢?尽管这种做法很普遍,但实施这种做法肯定有实际原因。
超级用户贡献者Matteo提供了以下见解:
Counting arrays from 0 simplifies the computation of the memory address of each element.
If an array is stored at a given position in memory (it’s called the address) the position of each element can be computed as
element(n) = address + n * size_of_the_elementIf you c***ider the first element the first, the computation becomes
element(n) = address + (n-1) * size_of_the_elementNot a huge difference but it adds an unnecessary subtraction for each access.
Edited to add:
如果你想更深入地探究答案,Dijkstra的论文是一本信息丰富的读物。
有什么要补充的解释吗?在评论中发出声音。想从其他精通技术的Stack Exchange用户那里了解更多答案吗?在这里查看完整的讨论主题。
... 使用服务器端和客户端攻击入侵和控制远程计算机。 远程控制一个被黑客攻击的系统,并利用它攻击其他系统。 发现、利用和防止许多web应用程序漏洞,如XSS和SQL注入。 ...
... 记住,数组位置从零开始,而不是从一开始,所以我们希望循环从零开始。我们的第一个循环将打印Hello,第二个循环将打印空格,依此类推。在第四个循环之后,我们的计数器将增加到4...
...除它。 开始之前,请确保将要保留的任何文件传输到新计算机或外部驱动器。即使您不打算擦除驱动器,也最好在重新安装操作系统之前进行备份。 第一步:从恢复模式或安装程序启动 相关:恢复模式下可访问的8个Mac系统功...
英国广播公司多年来一直是英国娱乐业的支柱,但现在它也以领先的在线新闻来源而闻名于世。从最初的头脑风暴到从头开始创建内容管理系统,《注册报》深入了解了BBC新闻是如何创建的。不出所料,在一个像BBC这样的庞大组...
...它是图像和语音识别、推荐系统和各种任务背后的技术,计算机过去非常不擅长,但现在非常擅长。它包括教计算机自学。据数据科学家巴加瓦说,你可以在不到一年的时间里学会。你需要每周投入10-20个小时,但你会学到很多...
热巧克力总是美味的,但是为了得到最好的一杯,你应该用粉末巧克力还是固体巧克力?你的巧克力里可可的含量是多少?一个巧克力专家揭示了一切。Leslie Stephens在Food52上与糕点大师兼巧克力专家Jacques Torres进行了交谈,他建...
...是电子厂机械控制中的一项关键功能。这些机器中的微型计算机经常需要有关轴或轴的位置、旋转方向和旋转速度的信息,这些信息需要转换成数字形式。光学编码器是用于测量角度或线性位置的机电设备。用于角度检测的通常...
...找到任何你需要的东西。weblogclunclutter向我们展示了如何从零开始找出你真正需要的东西。Unclutter推荐了一种与流行的衣架清洁方法类似的方法。把你实际使用的东西划掉,剩下的移到别的地方:Take all of the supplies out of the drawer ...
这是一年中一个完美的时间来尝试你的手把一些苹果酒变成硬苹果酒,苹果酒的乌合之众唤醒哥哥。只需少量的原料和一壶苹果酒,你就可以在家里自己酿制。带上一两罐苹果酒和一些很容易买到的自制设备,比如蒸汽锁和一包...
...动以来经过的毫秒数,但该函数的精度仅为1毫秒,如果计算机长时间处于通电状态,则该函数可能并不总是准确的。 经过的时间存储为DWORD(32位)值。因此,如果Windows连续运行49.7天,时间将变为零。 GetTickCount也仅限于系...