Golang 整數型別最大值和最小值的定義

2021-09-30 00:15:18 字數 886 閱讀 6750

在寫一道演算法時需要用到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.自定義變數...