(1)類似的常量定義在limits.h和float.h標頭檔案中,可以檢視原始檔獲取類似常量的使用辦法。在標頭檔案中,整數的最值通常是這樣的名字:int_max, int_min,直接使用即可。
(2)當然這兩個最值完全可以通過程式設計實現:
#define max_int ((unsigned)(-1)>>1)
#define min_int (~max_int)
但是,這兩個巨集僅僅是沒有型別的符號,在使用的時候會陷入困境。看下面這段c++程式,輸出結果出乎意料。
#include
#include
#define max_int ((unsigned)(-1)>>1)
#define min_int (~max_int)
int main()
輸出結果是2147483647 和2147483648
問題出在:輸出min_int,由於min_int僅僅是個符號,在輸出給cout時就按照cpp的規則以長整數輸出了,因此正確的辦法是
cout << "max_int: " << (int)max_int << "\n"
<< "min_int: " << (int)min_int << endl;
當然最好的辦法還是不要使用#define這個巨集,不安全。
(3)因此,乙個比較好的解決辦法是,直接定義變數:
int max_int = ((unsigned)(-1))>>1;
int min_int = ~max_int;
**如下:
#include
int main()
陣列取最大值最小值
1 陣列取出最大值,最小值的方式 第一種 遍歷一邊陣列就可以找出需要的值,基本上可以說是速度最快的演算法,還不需要排序 int intarray int max intarray 0 int min intarray 0 for int i intarray listl arrays.aslist ...
最大值 最小值
求最大最小的時候有點小技巧,就是我們兩個兩個的比較,把大個跟當前最大比較,小的跟當前最小的比較,這樣就會節約一點比較時間,有原來的2 n到3 n 2。include include 得到最大最小值 int getmaxmin int ndata,int nlen,int pnmax,int pnmi...
獲取整數的最大值最小值
c c 常需要獲得最大值,最小值,通常這兩個數與平台和作業系統有關,因此可移植的辦法就是推薦使用庫函式提供的常量定義 1.利用語言自定義 類似的常量定義在limits.h和float.h標頭檔案中。在標頭檔案中,整數的最值通常是這樣的名字 int max,int min,直接使用即可。2.自定義變數...