(n + 1) 一定大於 n ?
(高顯忠, sjgau4311@gmail.com, 2010-11-11 11:15)
1樓
那可未必,
不管是 整數,或者是 浮點數,
不管是 長整數數,或是短的整數,
不管是 單精確度,或是雙倍精確度的浮點數,
(n + 1) 不一定會 大於 n
這是一個 很嚴重的問題,可是大家好像都 忽略了這個問題。
詳細,後稟,。。。。
(高顯忠, sjgau4311@gmail.com, 2010-11-13 08:03)
2樓
#if 0
n= 2147483647, m= -2147483648
請按任意鍵繼續 . . .
目前的 int 所能夠表示的 最大整數為
2147483647,
這個數字加一,會變成 -2147483648.
這是因為電腦的內部,使用二的補數來
表示 負整數的關係。
詳細,請繼續參考 二的補數
#endif
#include <stdlib.h>
#include <stdio.h>
int main()
{
int n, m;
n= 10;
m= n + 1;// m > n
while (m > n) {
n++;
m= n + 1;
}
printf("n= %d, m= %d\n", n, m);
system("pause");
return 0;
}
(高顯忠, sjgau4311@gmail.com, 2010-11-13 09:57)
3樓
這個程式,大概要跑個 10秒鐘吧!
所以,就引發出 另外的一個問題,
到底是 需要多少時間?
時間的測量,可以精確到什麼程度?
會使用到 ftime() 這個函數。
敬請 期待。