当前位置: 首页>>代码示例>>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;未经允许,请勿转载。