2011-05-15 63 views
-1

在此展開您的想法:你會如何定義無窮大?

#define INFINITY ((1 << (8*sizeof (int) - 6)) - 4) 

擴大?

+3

在什麼情況下?爲什麼你需要一個代表無限的價值?爲什麼'((1 <<(8 * sizeof(int) - 6)) - 4)'?爲什麼不使用'float'或'double',因爲它們可以表示正/負無窮? – 2011-05-15 04:48:28

+1

我通常會說「最終會燒燬你的處理器的循環」......所以是的,這取決於上下文。 – 2011-05-15 04:50:35

+0

if(距離[i * MAX_ZONES + j] == INFINITY) – 2011-05-15 04:52:31

回答

4

爲什麼不

numeric_limits<float>::infinity() 

numeric_limits<double>::infinity()