int_min在標準標頭檔案limits.h中定義。
#define int_max 2147483647
#define int_min (-int_max - 1)12
在c/c++語言中,不能夠直接使用-2147483648來代替最小負數,因為這不是乙個數字,而是乙個表示式。表示式的意思是對整數21473648取負,但是2147483648已經溢位了int的上限,所以定義為(-int_max -1)。
c中int型別是32位的,範圍是-2147483648到2147483647 。
(1)最輕微的上溢是int_max + 1 :結果是 int_min;
(2)最嚴重的上溢是int_max + int_max :結果是-2;
(3)最輕微的下溢是int_min - 1:結果是是int_max;
(4)最嚴重的下溢是int_min + int_min:結果是0 。
INT MAX和INT MIN的溢位
今天做筆試題碰到的一題,記錄一下,題目為求函式的返回值。int func int a,int b return a b int main cout 題目考察int型別的溢位後的狀態,a比b先溢位 a為int max且加1溢位後,a由int max變為int min,此時b為int min。a b 等...
ACM INT MAX和INT MIN注意事項
int min在標準標頭檔案limits.h中定義。define int max 2147483647 define int min int max 1 在c c 語言中,不能夠直接使用 2147483648來代替最小負數,因為這不是乙個數字,而是乙個表示式。表示式的意思是對整數21473648取負...
犯錯和注意
1.矩陣乘法乘的時候一定注意是否要開 longlong 2.確保暴力正確再對拍.3.線段樹 tag 標記一定要看清楚,有多個時不要搞混。4.倍增求 lca 次方迴圈放外面。5.打樹剖時,線段樹用的是 dfn x 樹剖用的是x。6.分塊,正經的分塊 n read t sqrt n for int i ...