java中double型資料的加減乘除

2021-04-18 14:39:22 字數 850 閱讀 5513

public class arith 

/*** 兩個double數相減

* @param v1

* @param v2

* @return double

*/public static double sub(double v1,double v2)

/*** 兩個double數相乘

* @param v1

* @param v2

* @return double

*/public static double mul(double v1,double v2)

/*** 兩個double數相除

* @param v1

* @param v2

* @return double

*/public static double div(double v1,double v2)

/*** 兩個double數相除,並保留scale位小數

* @param v1

* @param v2

* @param scale

* @return double

*/public static double div(double v1,double v2,int scale)

bigdecimal b1 = new bigdecimal(v1.tostring());

bigdecimal b2 = new bigdecimal(v2.tostring());

return b1.divide(b2,scale,bigdecimal.round_half_up).doublevalue();

}}

double型資料儲存

double型佔64位 0 63 其中最高位63bit表示符號 0正1負 62 52bit 11位的指數字 52 0bit 52位的資料位 舉例說明 64.446263 共8位元組,63bit 1 62 52bit 64 100 000 所以指數應該是7,這裡使用隱藏位技術,第一位1隱藏,所以指數字...

Java中double型別資料的比較

double a 0.001 double b 0.0011 bigdecimal data1 new bigdecimal a bigdecimal data2 new bigdecimal b data1.compareto data2 非整型數,運算由於精度問題,可能會有誤差,建議使用bigd...

C 中double型資料的取模運算

double型資料的取模運算 由於double型資料存在精度問題,所以不能以往常的思想解決 即取得n kp r 這裡我的思路是將double型資料放大後轉為int型資料取模,然後再縮小為放大的倍數。因為我們需要知道放大的倍數,所以必須知道小數點後有多少位,這裡我的想法是將double型資料轉為為字串...