日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

windows - Java高精度運算問題求助

瀏覽:177日期:2023-10-25 11:34:42

問題描述

公司項目里面需要做大量的高精度運算,剛開始用double類型運算,后來發現用double類型運算后有些值的精確度超過了理想范圍,就用了BigDecimal來計算,現在的問題是BigDecimal的運算效率比double慢幾十倍,數據量大的話,慢的要死。請問有沒有好的解決方案?這個問題急需解決。

//相關性系數計算public BigDecimal getRelativityTool_bydim(RelativityTool u) {BigDecimal sim = new BigDecimal('0'); //最后的皮爾遜相關度系數BigDecimal common_items_len = new BigDecimal(this.rating_map_list.size()); //操作數的個數BigDecimal this_sum = new BigDecimal('0'); //第一個相關數的和BigDecimal u_sum = new BigDecimal('0'); //第二個相關數的和BigDecimal this_sum_sq = new BigDecimal('0'); //第一個相關數的平方和BigDecimal u_sum_sq = new BigDecimal('0'); //第二個相關數的平方和BigDecimal p_sum = new BigDecimal('0'); //兩個相關數乘積的和for (int i = 0; i < this.rating_map_list.size(); i++) { BigDecimal this_grade = this.rating_map_list.get(i); BigDecimal u_grade = u.rating_map_list.get(i); //評分求和 //平方和 //乘積和 this_sum = this_sum.add(this_grade); u_sum = u_sum.add(u_grade); this_sum_sq = this_sum_sq.add(this_grade.pow(2)); u_sum_sq = u_sum_sq.add(u_grade.pow(2)); p_sum = p_sum.add(this_grade.multiply(u_grade));}BigDecimal num = common_items_len.multiply(p_sum).subtract(this_sum.multiply(u_sum));BigDecimal den = sqrt(common_items_len.multiply(this_sum_sq).subtract(this_sum.pow(2)).multiply(common_items_len.multiply(u_sum_sq).subtract(u_sum.pow(2))));if (den.compareTo(new BigDecimal('0')) == 0) { sim = new BigDecimal('1');} else { sim = num.pide(den,5, BigDecimal.ROUND_HALF_UP);}return sim; } //大數字開方 public static BigDecimal sqrt(BigDecimal x) {BigDecimal n1 = BigDecimal.ONE;BigDecimal ans = BigDecimal.ZERO;while ((n1.multiply(n1).subtract(x)).abs().compareTo(BigDecimal.valueOf(0.001)) == 1) { BigDecimal s1 = x.pide(n1, 2000, BigDecimal.ROUND_HALF_UP); BigDecimal s2 = n1.add(s1); n1 = s2.pide(BigDecimal.valueOf(2), 2000, BigDecimal.ROUND_HALF_UP);}ans = n1;BigDecimal rt = new BigDecimal(ans.toString().split('.')[0]);return rt; }

問題解答

回答1:

除了使用C或者C++來做高精度運算之外,好像沒有什么辦法可以同時兼顧性能和精度了。

回答2:

大學計算機專業有門課程叫“計算方法”,專門探討如何在精度有限的計算過程中保持誤差最小化。樓主有興趣的話可以找下相關教材。

回答3:

后來發現用double類型運算后有些值的精確度超過了理想范圍是超過還是滿足不了?

這里有一段計算平方根的代碼,我從stackoverflow上找到的,在我自己的機子測試要比你上面那個快十倍左右。所以: 一則你可以通過改進的算法來提高性能,其二,最好的辦法找一些已有的library來直接用:例如這個上面列的

public void test_sqrt() { BigDecimal x = BigDecimal.valueOf(Long.MAX_VALUE); BigDecimal x0 = BigDecimal.ZERO; BigDecimal x2 = new BigDecimal(2); BigDecimal x1 = new BigDecimal(Math.sqrt(x.doubleValue())); while (!x0.equals(x1)) {x0 = x1;x1 = x.pide(x0, 2000, BigDecimal.ROUND_HALF_UP);x1 = x1.add(x0);x1 = x1.pide(x2, 2000, BigDecimal.ROUND_HALF_UP); } assertEquals(3037000499L, x1.longValue());}

標簽: java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
精品一区二区三区亚洲| 91免费精品| 欧美jjzz| 欧美色图国产精品| 亚洲手机视频| 国产午夜久久| 久久国产精品99国产| 一区二区国产精品| 日韩av影院| 国产精品玖玖玖在线资源| 日韩成人午夜精品| 国产劲爆久久| 四虎成人av| 欧美日韩精品在线一区| 欧美va天堂在线| 免费观看久久久4p| 欧美日韩a区| 久久亚州av| 日韩网站中文字幕| 午夜久久一区| 日韩一区中文| 国产乱子精品一区二区在线观看 | 91欧美在线| 久久久成人网| 欧美特黄a级高清免费大片a级| 国产精品日韩久久久| 午夜电影一区| 国精品产品一区| 久久久久亚洲| 亚洲精品国模| 欧美日本三区| www.九色在线| 国产精品日韩| 日韩精品国产精品| 免费在线亚洲| 91精品啪在线观看国产18| 中文日韩欧美| 国产精品永久| 欧美成人精品三级网站| 亚洲视频电影在线| 老色鬼精品视频在线观看播放| 欧洲一区二区三区精品| 爽好多水快深点欧美视频| 91九色精品| 免费久久久久久久久| 免播放器亚洲一区| 精品国产一区二区三区2021| 成人久久一区| 日韩成人午夜精品| 日韩国产一区二区| 热久久免费视频| 欧美在线不卡| 日韩不卡在线| 91九色综合| 欧美日韩精品一区二区视频| 青青国产91久久久久久| 欧美亚洲在线日韩| 久久不见久久见国语| 99pao成人国产永久免费视频| 国产精品欧美大片| 黄色av一区| 国产精品极品| 国产高清一区| 国产精品美女午夜爽爽| 五月综合激情| 久久亚洲精精品中文字幕| 国产偷自视频区视频一区二区| 欧美天堂一区| 亚洲一区日韩在线| а√在线中文在线新版| 成人羞羞视频播放网站| 亚洲精品高潮| 精品精品99| 在线观看一区| 日韩欧美一区二区三区免费观看| 日韩精品亚洲专区| 91精品啪在线观看国产18| 国产伦乱精品| 亚洲一区有码| 午夜欧美理论片| 国产传媒在线| 国产日韩中文在线中文字幕 | 日韩欧美中文| 国产欧美高清视频在线| 日韩在线一区二区| 欧美丝袜一区| 91亚洲国产| 国产日韩欧美三区| 国产成人黄色| 国产亚洲久久| 在线观看一区| 黄色亚洲精品| 91精品啪在线观看国产18| 激情中国色综合| 国产精品免费99久久久| 蜜桃久久久久久| 伊人久久亚洲美女图片| 亚洲成av人片一区二区密柚| 色综合五月天| 精品一区二区三区中文字幕| 国产欧美视频在线| 日本午夜精品久久久久| 婷婷综合国产| 视频一区中文字幕| 久久精品导航| 2023国产精品久久久精品双| 中文字幕人成乱码在线观看| 欧美1区2区3| 国产精品久久久久久模特 | 日韩黄色在线观看| 亚洲精品系列| 综合日韩在线| 视频在线在亚洲| 免费人成黄页网站在线一区二区| 夜夜精品视频| 日韩视频在线一区二区三区| 91精品二区| 婷婷色综合网| 婷婷中文字幕一区| 日韩一级网站| 中文字幕日韩高清在线| 亚洲伊人精品酒店| 亚洲精品日本| 亚洲日本欧美| 日本不卡一二三区黄网| 国产亚洲字幕| 麻豆国产91在线播放| 高清在线一区| 精精国产xxxx视频在线野外| 欧美日韩在线播放视频| 日韩高清不卡| 亚洲午夜黄色| 久久福利影视| 亚洲人成在线影院| 97精品国产99久久久久久免费| 欧美一区二区三区免费看| 国产乱人伦精品一区| 麻豆精品国产91久久久久久| 久久三级中文| 日韩电影免费网址| 国产精品av久久久久久麻豆网| 91久久黄色| 一区二区不卡| 国产精品色在线网站| 国产91在线精品| 欧美日韩精品免费观看视欧美高清免费大片 | 日韩精品诱惑一区?区三区| 日韩不卡在线| 久久aⅴ国产紧身牛仔裤| 日本成人在线网站| 久久影视三级福利片| 日韩成人高清| 日韩视频二区| 日韩欧美另类中文字幕| 国产精品va视频| 久久夜夜操妹子| 久久亚洲图片| 国产精品1区| 久久人人99| 麻豆亚洲精品| 国产亚洲久久| 91精品久久久久久久久久不卡| 免费看黄色91| 精品久久精品| 国产亚洲毛片| 国产精品高潮呻吟久久久久| 亚洲成人一区在线观看| 亚洲最新av| 精品亚洲自拍| 在线精品小视频| 国产日韩欧美一区| 99精品视频精品精品视频| 亚洲精品第一| 亚洲黄色中文字幕| 伊人成人在线视频| 国产精品啊啊啊| 婷婷丁香综合| 国产极品模特精品一二| 亚洲调教视频在线观看| 欧美精品三级在线| 99视频精品全国免费| 日本久久一区| 久久国产成人午夜av影院宅| 日韩高清在线不卡| 香蕉久久99| 美日韩一区二区三区| 欧美在线影院| 精品亚洲a∨一区二区三区18| 亚洲精品1区2区| 国产精品一国产精品k频道56| 性欧美xxxx免费岛国不卡电影| 911精品国产| 国产精品视区| 不卡专区在线| 18国产精品| 久久国产精品久久w女人spa| 都市激情国产精品| 久久国产精品免费精品3p| 国产真实久久| 老司机免费视频一区二区|