在寫一道演算法時需要用到int32型別的最大值和最小值,但是查了查在go的標準庫中沒有定義這些變數,所以當需要使用整數型別的最大值和最小值的時候,我們需要自己手動去定義。
其最小值是0,那麼二進位制表示就是所有位都為0:
const uint_min uint
=0
其最大值二進位制表示所有位數表示為1,通過位運算:
const uint_max uint=^
uint(0
)
根據補碼,其最大值二進位制表示,首位為0,其餘位為1:
const int_max =
int(
^uint(0
)>>
1)
根據補碼,其最小值二進位制表示,首位為1, 其餘位為0:
const int_min =
^int_max
int型別和uint型別所占用的長度和系統位數有關,在32位系統下,int的長度和int32長度相同,在64位系統下,int的長度和int64長度相同,uint同理。
const
( int_max =
int32(^
uint32((
0))>>1)
int_min =
^int_max
)func
main()
輸出:
2147483647
-2147483648
size of a:
8size of b:
4size of c:
8
整數詳情可以看這裡: 相加和最大值
time limit 1000ms memory limit 65536kb submit statistic problem description 輸入三個整數a,b,c。並進行兩兩相加,最後比較相加和的最大值。input 輸入資料報含三個整數,用空格分開。output 輸出兩兩相加後的最大值。...
取整數的最大值最小值值,
1 類似的常量定義在limits.h和float.h標頭檔案中,可以檢視原始檔獲取類似常量的使用辦法。在標頭檔案中,整數的最值通常是這樣的名字 int max,int min,直接使用即可。2 當然這兩個最值完全可以通過程式設計實現 define max int unsigned 1 1 defin...
獲取整數的最大值最小值
c c 常需要獲得最大值,最小值,通常這兩個數與平台和作業系統有關,因此可移植的辦法就是推薦使用庫函式提供的常量定義 1.利用語言自定義 類似的常量定義在limits.h和float.h標頭檔案中。在標頭檔案中,整數的最值通常是這樣的名字 int max,int min,直接使用即可。2.自定義變數...