Java/Math
Java Math 예시 2(BigInteger, BigDemical, equals, add, subtract, multiply, divide)
S.T.Lee
2022. 11. 14. 21:27
package lec14.math02;
import java.math.BigDecimal;
import java.math.BigInteger;
public class Math02 {
public static void main(String[] args) {
//BigInteger, BigDemical
//long으로 커버가 불가능할때
BigInteger bigInteger = new BigInteger("1");
System.out.println(bigInteger);
System.out.println("============================");
BigInteger one = BigInteger.ONE;
BigInteger zero = BigInteger.ZERO;
BigInteger ten = BigInteger.TEN;
BigInteger two = BigInteger.TWO;
System.out.println("one :" + one);
System.out.println("zero :" + zero);
System.out.println("ten :" + ten);
System.out.println("two :" + two);
System.out.println("===========================");
BigInteger longBig = BigInteger.valueOf(100);
System.out.println(longBig);
//equals
System.out.println("===========================");
BigInteger oneBig1 = BigInteger.ONE;
BigInteger oneBig2 = BigInteger.valueOf(1);
boolean eqBig1 = oneBig1.equals(oneBig2);
System.out.println("bool :" + eqBig1);
System.out.println("===========================");
BigInteger twoBig1 = BigInteger.TWO;
BigInteger twoBig2 = BigInteger.valueOf(1);
boolean eqBig2 = twoBig1.equals(twoBig2);
System.out.println("bool :" + eqBig2);
//add
System.out.println("===========================");
BigInteger oneBigAdd = new BigInteger("1");
BigInteger twoBigAdd = BigInteger.valueOf(1);
BigInteger resultAdd = oneBigAdd.add(twoBigAdd);
System.out.println(resultAdd);
System.out.println("===========================");
BigInteger threeBigAdd = BigInteger.valueOf(3);
BigInteger fourBigAdd = BigInteger.valueOf(4);
BigInteger addResult2 = threeBigAdd.add(fourBigAdd);
System.out.println(addResult2);
//subtract //minus
System.out.println("===========================");
BigInteger bigTwoSubs = BigInteger.valueOf(2);
BigInteger bigOneSubs = BigInteger.valueOf(1);
BigInteger bigSubsResult1 = bigTwoSubs.subtract(bigOneSubs);
System.out.println("결과 : " + bigSubsResult1);
System.out.println("===========================");
BigInteger bigFiveSubs = BigInteger.valueOf(5);
BigInteger bigThreeSubs = BigInteger.valueOf(3);
BigInteger bigSubsResult2 = bigFiveSubs.subtract(bigThreeSubs);
System.out.println("result : "+bigSubsResult2);
//multiply
System.out.println("===========================");
BigInteger bigMulti01 = BigInteger.valueOf(3);
BigInteger bigMulti02 = BigInteger.valueOf(2);
BigInteger bigMultiResult1 = bigMulti01.multiply(bigMulti02);
System.out.println("multi result : " + bigMultiResult1);
System.out.println("===========================");
BigInteger bigMulti03 = BigInteger.valueOf(32);
BigInteger bigMulti04 = BigInteger.valueOf(21);
BigInteger bigMultiResult2 = bigMulti03.multiply(bigMulti04);
System.out.println("multi result : " + bigMultiResult2);
//divide
System.out.println("============================");
BigInteger bigDiv01 = BigInteger.valueOf(6);
BigInteger bigDiv02 = BigInteger.valueOf(2);
BigInteger bigDivResult1 = bigDiv01.divide(bigDiv02);
System.out.println("divide result : " + bigDivResult1);
//나머지는 버림 된다//int니깐
System.out.println("============================");
BigInteger bigDiv03 = BigInteger.valueOf(16);
BigInteger bigDiv04 = BigInteger.valueOf(5);
BigInteger bigDivResult2 = bigDiv03.divide(bigDiv04);
System.out.println("divide result : " + bigDivResult2);
System.out.println("==============================");
//BigDecimal
//10.1로 넣으면 소수점이 이상하게 나온다. string으로 넣자
BigDecimal bigDec10dot1 = new BigDecimal("10.1");
System.out.println(bigDec10dot1);
BigDecimal bigDecValueOf1 = BigDecimal.valueOf(1.5);
System.out.println(bigDecValueOf1);
System.out.println("==============================");
//equals
BigDecimal bigDecEq01 = BigDecimal.valueOf(10.1);
BigDecimal bigDecEq02 = BigDecimal.valueOf(10.1);
boolean boolBigEq = bigDecEq01.equals(bigDecEq02);
System.out.println("equals : " + boolBigEq);
System.out.println("==============================");
//add
BigDecimal bigDecAdd01 = BigDecimal.valueOf(110.1);
BigDecimal bigDecAdd02 = BigDecimal.valueOf(10.1);
BigDecimal boolBigAdd = bigDecAdd01.add(bigDecAdd02);
System.out.println("add : " + boolBigAdd);
//subtract
System.out.println("=============================");
BigDecimal bigDecSubs1 = BigDecimal.valueOf(1.5);
BigDecimal bigDecSubs2 = BigDecimal.valueOf(0.2);
BigDecimal bigDecResultSubs = bigDecSubs1.subtract(bigDecSubs2);
System.out.println("subtract : " + bigDecResultSubs);
//multiply
System.out.println("=============================");
BigDecimal bigDecMulti1 = BigDecimal.valueOf(0.5);
BigDecimal bigDecMulti2 = BigDecimal.valueOf(0.2);
BigDecimal bigDecMultiREsult1 = bigDecMulti1.multiply(bigDecMulti2);
System.out.println("multiply : " + bigDecMultiREsult1);
//divide
System.out.println("============================");
BigDecimal bigDecDiv1 = BigDecimal.valueOf(1.0);
BigDecimal bigDecDiv2 = BigDecimal.valueOf(2.0);
BigDecimal bigDecDivResult1 = bigDecDiv1.divide(bigDecDiv2);
System.out.println("divide : " + bigDecDivResult1);
}
}