i+1i java溢出問題;補碼 反碼 面試題


先上題目

問題一、 

是否存在數i  ,使得 i + 1 < i

問題二、 

是否存在數i  ,使得 i -  1 > i

問題三、 

是否存在數i  ,使得 i + 1 = i   或則   i + 1 < i 

問題四、 

存在使i > j || i <= j不成立的數嗎()


答案:都存在


問題一舉例:

    2^31 - 1(int類型最大值)   + 1     =    -2^31(int類型的最小值,很明顯這小於+1前的數) 

    這屬於java的益處問題,可以參考以下:《原碼, 反碼, 補碼 詳解》

問題二舉例:

-2^31 - 1 = 2^31 - 1 (int類型的最大值,很明顯這小於-1前的數) 

這屬於java的益處問題,可以參考以下:《原碼, 反碼, 補碼 詳解》


問題三舉例:
	這個問題參考極限值,當max值趨近正無窮時,

	Double max = Double.MAX_VALUE;
	System.out.println(max == max + 1); //true



問題四舉例:
	比如Double.NaN或Float.NaN


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章