作者SiriusJinn (假斯汀)
看板Electronics
標題[問題] 九個1乘九個1等於多少?
時間Wed Apr 15 22:34:41 2009
※ [本文轉錄自 C_and_CPP 看板]
作者: SiriusJinn (假斯汀) 看板: C_and_CPP
標題: [問題] 九個1乘九個1等於多少?
時間: Wed Apr 15 22:33:03 2009
一開始是用labview寫的
發現答案是 12345678987654320 直覺應該是 12345678987654321
用c寫也是一樣
================================================
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
double a=111111111,b;
b=a*a;
printf("%.lf \n",b);
system("pause");
return 0;
}
===============================================
int64 會不夠嗎?
用matlab試了一下,直接打111111111*111111111 值出不了,只好直接試大小
===============================================
>> x=12345678987654321;
>> int64(x)
ans =
12345678987654320
===============================================
不知大家有沒有什麼解決的辦法呢?
感謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.120.90.170
※ SiriusJinn:轉錄至看板 MATLAB 04/15 22:34
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.120.90.170
1F:推 UBL:大數問題...吧 04/15 23:07
2F:推 AppleFox:似乎是精準度的關係 把b*10跟 b*100 print出來就看得到 04/16 00:04
3F:→ AppleFox:b*10 = 12...43200 b*100= 123....4321000 注意2後面的1 04/16 00:05
4F:→ AppleFox:至於為什麼 我也不太知道 =.=" 04/16 00:06
5F:→ proach:換個工具吧,Windows附的小算盤答案是對的,所以是大數問題. 04/16 00:25
6F:推 paullai:overflow... 04/16 01:07
7F:→ paullai:大數、精準度 都有影響 04/16 01:08
8F:推 l1l1l1l1:←我知道八乘1 04/17 17:17