當前位置: 首頁>>代碼示例>>Java>>正文


Java MathContext.DECIMAL32屬性代碼示例

本文整理匯總了Java中java.math.MathContext.DECIMAL32屬性的典型用法代碼示例。如果您正苦於以下問題:Java MathContext.DECIMAL32屬性的具體用法?Java MathContext.DECIMAL32怎麽用?Java MathContext.DECIMAL32使用的例子?那麽, 這裏精選的屬性代碼示例或許可以為您提供幫助。您也可以進一步了解該屬性所在java.math.MathContext的用法示例。


在下文中一共展示了MathContext.DECIMAL32屬性的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: calcCenterOfGravity

/**
 * One dimensional: let coordinates x be with values v. center of gravity: cog = sum(x_i * v_i) / sum(v_i). If all
 * values v_i are 0 then undefined. We can do this cog calculation for each dimension separately and combine the
 * answers.
 *
 * @param picture
 *          in gray scale values. points are weighed in accordance with their gray scale. So double the gray scale
 *          means double weight. But beware: value 255=white, 0=black, so 255-value is in fact the weight of a pixel
 * @return center of gravity (x,y), (undefined if picture is all white)
 */
public static double[] calcCenterOfGravity(int[][] picture) {
	MathContext mc = MathContext.DECIMAL32;
	BigDecimal zero = new BigDecimal(0, mc);
	BigDecimal summedGrayScaleValues = zero;
	BigDecimal summedRowGrayScaleValues = zero;
	BigDecimal summedColumnGrayScaleValues = zero;
	for (int rowIndex = 0; rowIndex < picture.length; rowIndex++) {
		int[] row = picture[rowIndex];
		for (int columnIndex = 0; columnIndex < row.length; columnIndex++) {
			int grayScaleWeight = 255 - row[columnIndex];
			if (grayScaleWeight > 0) {
				summedRowGrayScaleValues = summedRowGrayScaleValues.add(BigDecimal.valueOf(grayScaleWeight * rowIndex), mc);
				summedColumnGrayScaleValues = summedColumnGrayScaleValues.add(BigDecimal.valueOf(grayScaleWeight * columnIndex), mc);
				summedGrayScaleValues = summedGrayScaleValues.add(BigDecimal.valueOf(grayScaleWeight), mc);
			}
		}
	}
	BigDecimal rowAverage = summedGrayScaleValues.longValue() > 0 ? summedRowGrayScaleValues.divide(summedGrayScaleValues, mc) : zero;
	BigDecimal columnAverage = summedGrayScaleValues.longValue() > 0 ? summedColumnGrayScaleValues.divide(summedGrayScaleValues, mc) : zero;
	double[] center = new double[] { rowAverage.doubleValue(), columnAverage.doubleValue() };
	return center;
}
 
開發者ID:braeunlich,項目名稱:anagnostes,代碼行數:32,代碼來源:Normalizer.java

示例2: main

public static void main(String[] args) {

    SquareRootOfBigIntegerExample SquareRootOfBigIntegerExample =
            new SquareRootOfBigIntegerExample();
    String n = "";

    MathContext mc = new MathContext(0, RoundingMode.DOWN);
    mc = MathContext.DECIMAL32;

    BigInteger my2P100000 = new BigInteger("0");
    BigInteger two = new BigInteger("2");
    BigInteger one = new BigInteger("1");

    my2P100000 = two.shiftLeft(2000 - 1);

    System.out.println("2^2000 --  Step 1");
    System.out.println("Value of 2^2,000 " + my2P100000);
    System.out.println("");
    System.out.println("Finding the Square Root of 2^2000");

    String mys = my2P100000 + "";
    n = (mys);
    int firsttime = 0;

    BigDecimal myNumber = new BigDecimal(n);
    BigDecimal g = new BigDecimal("1");
    BigDecimal my2 = new BigDecimal("2");
    BigDecimal epsilon = new BigDecimal("0.0000000001");

    BigDecimal nByg = myNumber.divide(g, 9, BigDecimal.ROUND_FLOOR);

    //Get the value of n/g
    BigDecimal nBygPlusg = nByg.add(g);

    //Get the value of "n/g + g
    BigDecimal nBygPlusgHalf = nBygPlusg.divide(my2, 9, BigDecimal.ROUND_FLOOR);

    //Get the value of (n/g + g)/2
    BigDecimal saveg = nBygPlusgHalf;
    firsttime = 99;

    do {
      g = nBygPlusgHalf;
      nByg = myNumber.divide(g, 9, BigDecimal.ROUND_FLOOR);
      nBygPlusg = nByg.add(g);
      nBygPlusgHalf = nBygPlusg.divide(my2, 9, BigDecimal.ROUND_FLOOR);
      BigDecimal savegdiff = saveg.subtract(nBygPlusgHalf);

      if (savegdiff.compareTo(epsilon) == -1) {
        firsttime = 0;
      } else {
        saveg = nBygPlusgHalf;
      }

    } while (firsttime > 1);

    System.out.println(
            "For " + mys + "\nLength: " + mys.length() + "\nThe Square Root is " + saveg);
  }
 
開發者ID:tranleduy2000,項目名稱:javaide,代碼行數:59,代碼來源:SquareRootOfBigIntegerExample.java


注:本文中的java.math.MathContext.DECIMAL32屬性示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。