0
我知道JavaScript有一個正常的零0(稱爲正零+0)和負零-0,但是我從來沒有遇到過必須使用-0的情況。JavaScript中的負零產生重大影響的任何示例/方案?
堆棧溢出中有一些關於積極和消極的零是相似/不同的現有帖子,但沒有一個解釋它的真實生活用例/例子。
我知道JavaScript有一個正常的零0(稱爲正零+0)和負零-0,但是我從來沒有遇到過必須使用-0的情況。JavaScript中的負零產生重大影響的任何示例/方案?
堆棧溢出中有一些關於積極和消極的零是相似/不同的現有帖子,但沒有一個解釋它的真實生活用例/例子。
假設我們正在研究函數y = 1/x
,並且我們想知道它在x很小時的表現。讓我們x=1, x=0.1, x=0.01
並計算FUNC:
x = 1;
while(x) {
x /= 10;
document.write(x + ' ' + 1/x + '<br>');
}
正如你所看到的,它向正無窮接近。 1/x
等於Infinity
,因爲在某點x
變得非常小以至於與0
和1/0 = Infinity
難以區分。請注意,這是「正數」無窮大,即「非常大的數字」。
現在,讓我們開始-1
代替x=1
:
x = -1;
while(x) {
x /= 10;
document.write(x + ' ' + 1/x + '<br>');
}
現在的答案是-Infinity
,也就是功能向負無限接近, 「極少數」 。當然,這也是正確的,但計算機是如何得到它的?我們剛剛瞭解到1/0 = (positive) Infinity
?祕訣在於最後一個片段中的零實際上是負數,因此上一次迭代中的x
是-0
而不僅僅是0
和1/-0
給出-Infinity
。沒有簽名零,最後一個片段會給出不正確的結果。
希望能解釋一下。
爲什麼這個哨兵相關? –
在我看來,它是更多的數學表示。 +和 - 是基本上有助於增加價值的方向性意義的標誌。例如,如果你正在計算'2/0 = Infinity','2/-0 = - infinity'。所以,現在無限在你的研究或算法或一些計算中有一個上下文。 「無限」表示值非常低。而「無窮大」代表的價值非常高。 – user5249203
http://stackoverflow.com/questions/7223359/are-0-and-0-the-same – epascarello