浮點型別,溢位和出錯的三個特殊值

2021-09-23 20:41:48 字數 882 閱讀 4686

浮點型的三個特殊值

double.negative_infinity(負無窮大)

double.positive_infinity(正無窮大)

double.nan(nan不是乙個數字)

可以用double.isinfinite(a)方法來判斷乙個浮點型別數是否溢位;

用double.nan(a)方法來判斷乙個浮點型別數是否為nan;

float a = (float) -10 / 0;// double型別也一樣

system.out.println(a);

if (double.isinfinite(a) && a < 0.0)

if (a == double.negative_infinity)

double b = (double) 10 / 0;

system.out.println(b);

if (b == double.positive_infinity)

if (b > 0.0 && double.isinfinite(b))

// 0/0或者負數的平方根,特別說明的是,不能用if(x==double.nan)的方式去檢測乙個特定值是否為double.nan

float c = (float) 0 / 0;

system.out.println(c);

if (c == double.nan) else

if (double.isnan(c))

float d = (float) math.sqrt(-4);

system.out.println(d);

if (d == double.nan) else

if (double.isnan(d))

找出三個數的最大值與三個數的按序輸出

兩個題目 方法一 使用if語句,建立中間變數 求三個整數的最大值 比較三個數並由從大到小的次序輸出 include include void compare int a,int b,int c if a c a c,a c交換,交換後a c if b c b c,b c交換,交換後b c print...

已知三角形三個邊的長度值,求三個角的大小

沒什麼技術含量,乙個餘弦定理搞定 function angle byval a as double,byval b as double,byval c as double angle b b c c a a 2 b c angle atn angle sqr 1 angle angle 2 atn ...

如何實現兩個變數的值交換,輸出三個值的最大值

例題 var a 123 var b 234 請使用任意方法交換a和b的值。方法一 定義中間變數 var c c a a b b c 方法二 和方法 兩數之和,和減去其中乙個數,得到的結果為另乙個數 a a b b a 方法三 差方法 兩數之差,被減數減去差,就得到乙個減數 減數加上差就得被減數 a...