![]() |
||
|
Senior Member
= PCDVD認證賣家 =
加入日期: Dec 2001 您的住址: 原始林裡
文章: 1,148
|
計算機的最大值
170!*24.770431103196687061
2^1023.99999999 這兩個值,如果再個別增加,就會呈現無法計算。不論是工程計算機,或是excel 函數都是。 有人知道為什麼嗎?是位址不夠? 兩個相減後的數,也蠻大的。 答案將來會更新在這邊。 https://joe2001.pixnet.net/blog/post/68560628 此文章於 2019-12-07 06:26 PM 被 joe2001 編輯. |
|||||||
|
|
|
Golden Member
![]() ![]() ![]() ![]() 加入日期: Apr 2017 您的住址: 陣亡者的靈堂
文章: 3,220
|
目前要拿Google那台量子電腦來當計算機
才知道最大值到哪
__________________
|
||
|
|
|
Advance Member
![]() ![]() 加入日期: Mar 2010 您的住址: 三界火宅
文章: 396
|
這裡的人不但一個比一個(神)精,而且一個比一個還牛(皮)。所以我都不太敢在這裡談論類似這種的……
![]()
__________________
為天地立心,為生民立命,為往聖繼絕學,為萬世開太平。 |
|
|
|
Advance Member
![]() ![]() 加入日期: Mar 2011 您的住址: 路很小條的新莊
文章: 429
|
引用:
2^1025 這個在Win10的計算機可以出現結果 3.595386269724631815458610381578 *10^308 能不能計算的差異,應該只是程式算法上的差異造成的限制吧 我猜excel應該是直接用double來寫才會這樣 算bug嗎?我覺得不算 頂多算issue 如果都用手工土砲自己用大數運算的方式寫 應該就不會有無法計算這種事 |
|
|
|
|
Advance Member
![]() ![]() 加入日期: Mar 2011 您的住址: 路很小條的新莊
文章: 429
|
剛才試了一下
直接用c++內建的sqrt跟pow來算 果真只用double的sqrt跟pow的確會有問題 換成用array寫的就沒問題 看起來應該就是double的鍋了 微軟官方也有列出excel的限制: Excel儲存格限制 計算的規格與限制 數字精確度 15 位數 最小的可容許負數 -2.2251E-308 最小的可容許正數 2.2251E-308 最大的可容許正數 9.99999999999999E+307 最大的可容許負數 -9.99999999999999E+307 經由公式取得的最大可容許正數 1.7976931348623158e+308 經由公式取得的最大可容許負數 -1.7976931348623158e+308 看起來用double這就是原因所在了 此文章於 2019-12-07 09:04 PM 被 kamuy 編輯. |
|
|
|
Senior Member
= PCDVD認證賣家 =
加入日期: Dec 2001 您的住址: 原始林裡
文章: 1,148
|
引用:
謝謝分享,看來如此。 可以請問這個值的來由嗎? 1.7976931348623158e+308 |
|
|
|