亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

Java math.sin有無限精度版本嗎

小樊
86
2024-07-23 13:07:05
欄目: 編程語言

Java中的Math.sin函數返回的是double類型的值,具有有限的精度。如果需要更高精度的sin函數計算,可以使用BigDecimal類來實現。通過BigDecimal類,可以實現任意精度的sin函數計算。以下是一個使用BigDecimal類計算sin函數的示例代碼:

import java.math.BigDecimal;
import java.math.MathContext;

public class SinCalculation {

    public static BigDecimal sin(BigDecimal x) {
        MathContext mc = new MathContext(100); // 設置精度為100位
        BigDecimal result = BigDecimal.ZERO;
        BigDecimal term = x;

        for (int i = 1; term.compareTo(BigDecimal.ZERO) != 0; i += 2) {
            result = result.add(term);
            term = term.multiply(x.pow(2)).divide(BigDecimal.valueOf(i * (i + 1)), mc).negate();
        }

        return result;
    }

    public static void main(String[] args) {
        BigDecimal x = new BigDecimal("1.570796326794896619231321691639751442098584699687552910487472296");
        BigDecimal sinValue = sin(x);
        System.out.println("Sin(" + x + ") = " + sinValue);
    }
}

在上面的代碼中,我們使用BigDecimal類來計算sin函數的值,精度為100位。可以根據需要調整精度。這樣就可以實現任意精度的sin函數計算。

0
于田县| 兖州市| 鞍山市| 永兴县| 曲靖市| 珠海市| 黎城县| 万山特区| 武冈市| 龙泉市| 晴隆县| 天镇县| 襄樊市| 甘孜县| 洱源县| 山阳县| 宁城县| 东辽县| 霍州市| 微山县| 宝兴县| 伊宁县| 吐鲁番市| 阜宁县| 苏尼特右旗| 松桃| 商水县| 武宣县| 长寿区| 忻州市| 延寿县| 福州市| 河东区| 米脂县| 滦南县| 花莲市| 禄丰县| 高邑县| 柘荣县| 磐石市| 乐业县|