PCDVD數位科技討論區
PCDVD數位科技討論區   註冊 常見問題 標記討論區為已讀

回到   PCDVD數位科技討論區 > 其他群組 > 七嘴八舌異言堂
帳戶
密碼
 

回應
 
主題工具
joe2001
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 編輯.
舊 2019-12-07, 06:24 PM #1
回應時引用此文章
joe2001離線中  
healthfirst.
Golden Member
 
healthfirst.的大頭照
 

加入日期: Apr 2017
您的住址: 陣亡者的靈堂
文章: 3,220
目前要拿Google那台量子電腦來當計算機

才知道最大值到哪
 
__________________
舊 2019-12-07, 06:32 PM #2
回應時引用此文章
healthfirst.離線中  
typh
Advance Member
 

加入日期: Mar 2010
您的住址: 三界火宅
文章: 396
這裡的人不但一個比一個(神)精,而且一個比一個還牛(皮)。所以我都不太敢在這裡談論類似這種的……
__________________
為天地立心,為生民立命,為往聖繼絕學,為萬世開太平。
舊 2019-12-07, 08:07 PM #3
回應時引用此文章
typh離線中  
kamuy
Advance Member
 

加入日期: Mar 2011
您的住址: 路很小條的新莊
文章: 429
引用:
作者joe2001
170!*24.770431103196687061

2^1023.99999999

這兩個值,如果再個別增加,就會呈現無法計算。不論是工程計算機,或是excel 函數都是。
有人知道為什麼嗎?是位址不夠?
兩個相減後的數,也蠻大的。


2^1025 這個在Win10的計算機可以出現結果

3.595386269724631815458610381578 *10^308

能不能計算的差異,應該只是程式算法上的差異造成的限制吧

我猜excel應該是直接用double來寫才會這樣

算bug嗎?我覺得不算

頂多算issue


如果都用手工土砲自己用大數運算的方式寫

應該就不會有無法計算這種事
舊 2019-12-07, 08:36 PM #4
回應時引用此文章
kamuy離線中  
kamuy
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 編輯.
舊 2019-12-07, 09:03 PM #5
回應時引用此文章
kamuy離線中  
joe2001
Senior Member
 
= PCDVD認證賣家 =
加入日期: Dec 2001
您的住址: 原始林裡
文章: 1,148
引用:
作者kamuy
剛才試了一下

直接用c++內建的sqrt跟pow來算

果真只用double的sqrt跟pow的確會有問題

換成用array寫的就沒問題

看起來應該就是double的鍋了

微軟官方也有列出excel的限制:

Excel儲存格限制 (https://support.office.com/zh-tw/article/excel-%E7%9A%84%E8%A6%8F%E6%A0%BC%E5%8F%8A%E9%99%90%E5%88%B6-1672b34d-7043-467e-8e27-269d656771c3)


計算的規格與限制

數字精確度
15 位數

最小的可容許負數
-2.2251E-308

最小的可容許正數
2.2251E-308

最大的可容許正數
9.99999999999999E+307

最大的可容許負數
-9.99999999999999E+307

經由公式取得的最大可容許正數
1.7976931348623158e+308

經由公式取得的最大可容許負數
-1.7976931348623158e+308

看起來用double這就是原因所在了


謝謝分享,看來如此。



可以請問這個值的來由嗎?
1.7976931348623158e+308
舊 2019-12-08, 12:24 AM #6
回應時引用此文章
joe2001離線中  


回應


POPIN
主題工具

發表文章規則
不可以發起新主題
不可以回應主題
不可以上傳附加檔案
不可以編輯您的文章

vB 代碼打開
[IMG]代碼打開
HTML代碼關閉



所有的時間均為GMT +8。 現在的時間是06:31 PM.


vBulletin Version 3.0.1
powered_by_vbulletin 2026。