归一化的双重悖论 - 页 7

 
transcendreamer:

出于某种原因,街道上的房子都是从1开始编号的。

建筑物中的楼层(通常)从1

有1个房间

为什么认股权证的编号从0开始?

而时、分、秒都是从0开始编号的。

 
Contender:

而时、分、秒都是从0开始编号的。

速度和其他方面也是如此

因为速度表上的0有一个物理意义--零速度。

而零是无稽之谈。

在人类语言中,通常会说 "第一"、"第二"...

有没有人听说过说 "in-zero"?

...........

还是要从TotalOrders()中减去一个。

我不明白这种说零更方便的顽固性。

就像ArraySize 一样,你必须要减去一个。

何谓方便?

 

整个话题看起来越来越像一个关于程序员的笑话集。

无意冒犯

这里有一个例子

-- 一个程序员问同事 -- "我可以借一千块钱到发薪日吗?

------------采取1024的方式使之成为平局。

 
transcendreamer:

难以令人信服地

从0开始计算有什么好处?

为了一个人,而不是一台机器

不知何故,我并没有打算说服任何人,最主要的是我自己被说服了。为此,你必须用数组征服各种复杂的算法。
 
Integer:
我不想说服任何人,最主要的是我自己确信这一点。为此,我必须用数组征服各种复杂的算法。

我也不是在强加我的意见。

当我不得不与矩阵打交道时,我发现在一个循环中通过索引转移一个元素往往很方便。

但也有很多反例,从直觉上讲,最后一个索引等于维数更容易。

或这个例子。for(int i=0; i<variables+constants; i++)

这里是变量和常量的列举;如果i=variables+1意味着过渡到常量区域,直观上会更方便。

即通过变量的数量+1--这意味着变量已经结束,常数已经开始--一切都很简单。

但是没有--我们必须记住减少1(或者将变量数字单独转换为数组索引)。

所以,这并不都是那么直接。

 
transcendreamer:

我也没有强加我的意见。

当我不得不与矩阵打交道时,我发现在一个循环中通过索引转移一个元素往往很方便。

但也有很多反例,从直觉上讲,最后一个索引等于维数更容易。

或这个例子。for(int i=0; i<variables+constants; i++)

这里是变量和常量的列举;如果i=variables+1意味着过渡到常量区域,直观上会更方便。

即通过变量的数量+1--这意味着变量已经结束,常数已经开始--一切都很简单。

但是没有--我们必须记住减少1(或者将变量数字单独转换为数组索引)。

所以这不是那么简单的事情。

因为在学校的数学课上,你不可能摆脱从一数起的做法。

当从0开始计算时,你不需要记住任何单位,一切都会奇迹般地自己加起来。

一切都很简单,很清楚。

for(int i=0; i<variables; i++){}.

for(int i=variables; i<variables+constants; i++){}.

for(int i=0; i<variables+constants; i++){if(i<variables){}else{}}.

如果它突然从1开始倒计时,那么这个算法就有问题了。

 
transcendreamer:

速度和其他变量也是如此

因为速度表上的0有一个物理意义--零速度

和零是无稽之谈。

人类的语言是说 "第一"、"第二"...。

有没有人听说过说 "in-zero"?

...........

还是要从TotalOrders()中减去一个。

我不明白这种说零更方便的顽固性。

就像ArraySize一样,你必须要减去一个。

方便的意义何在?

谁在强迫你谈论 "零"?随你怎么说,比如说前面的 。但不要忘记索引的问题。

如果未结头寸的数量==10,OrdersTotal()会给你10。如果你减去了1,那么你就会在计算中引入一个错误。

如果数组有10个单元,ArraySize()会给你10。如果你在这之后减去1(不是为了按索引引用单元格,而是为了对数组大小进行操作),你就会在计算中犯错误。

订单的数量 是以你习惯的格式给你的。如果有10个,你将得到10个。当你通过索引引用一个数组元素时,你一定不要忘记从零开始。

 

  for(int i=0; i<variables+constants; i++){if(i<variables){}else{}}

这时,变量i的物理意义就失去了。

我不明白你怎么能认真地这么说。

从零开始计算是不自然的。

在古巴比伦,他们曾经用12来计算,但聪明的犹太人发明了十进制系统,因为有10个手指,每个人都还在使用它。

罗马人想出了可怕的数字,但聪明的阿拉伯人从印第安人那里偷来了正常的数字,于是它就流行起来了。

全世界的人都从1开始计算,只有一小部分人的生活方式不同。

例如,int n=OrdersTotal()。

这将是非常简单和直观的 for(i=1; i<=n; i++) {OrderSelect(i,.......); }// 如果编号是正常的人类

而i变量的物理意义就像阳光一样简单明了:选择第一阶,选择第二阶,第三阶......。直到你到了最后一个

在任何时候,我们都可以检查i变量,并通过它的值告诉我们正在处理的顺序,而不需要任何转变

例如,void DisplayChart(int draw_bars)函数会绘制最新的柱状图的draw_bars。

要访问指标缓冲区 中的第一个条形,你需要减去1: draw_bars-1

每次都是一个额外的动作,要记住它是一件很痛苦的事情。

 
为什么?也是一部好莱坞动作电影的主题。很久以前,300年前,所有的地球人被分为两类:一些人认为你必须从一开始计算,而另一些人认为你必须从零开始。300年来,他们之间一直存在着激烈的、无休止的斗争......。然后他出现了(像一些不朽的高地人),并...向大家解释说,倒计时必须倒过来(而且有点歪)。然后有各种各样的东西和一个快乐的结局。
 
transcendreamer:

出于某种原因,街道上的房子都是从1开始编号的。

建筑物中的楼层(通常)从1

有1个房间

为什么他们将认股权证编号为0?

建筑物中的地板?这是一个怎么做的问题。俄罗斯人称之为 "底层",德国人称之为 "erdgeschoss",德国人称之为一楼 "erste stok"。在学校,它给我带来了文化冲击,后来就过去了--有很多霍拉旭的朋友......

英国人在一些地方没有13个号码,无论是房屋还是公寓。

订单没有零星的刻度。而事实上,账户从零开始,所以在文件中特别提到了这一点。

如果你想编程,就按照程序员的规则来编程。