목록연산자 (2)
삶 가운데 남긴 기록 AACII.TISTORY.COM
단항 연산자 1. 부호 연산자: +, - int i = -100; 2. 증감 연산자: ++, -- int x = 1; int y = 1; int result1 = ++x + 10;//먼저 x를 1증가 후 연산 int result2 = y++ + 10;//연산 후 y를 1 증가 3. 논리(boolean) 부정 연산자: ! boolean isComplete = false; System.out.println(isComplete); System.out.println(!isComplete); 4. 비트 반전 연산자: ~ 비트 반전 연산자는 정수 타입에만 사용됩니다. 비트 반전을 하고 나면 데이터 타입이 int 타입이 됩니다. 최상위 비트는 부호비트이므로, 비트 반전시 최상위 비트 포함해서 반전이 되므로 부호가 반..
부동 소수점 실수 계산의 정확도 문제 64비트 부동 소수점 규격 부호: 1비트, 지수 부분: 11비트, 가수 부분: 52비트 유효 소수점 자리수가 2의 53승 이므로 약 10의 16승 즉, 16자리가 유효한 자릿수입니다. 부동 소수점으로 계산하면 오차가 발생합니다. 일반적으로 가까운 두 수를 뺄 때 정밀도에 손실이 일어납니다. Math.sqrt(10001) - Math.sqrt(10000); //유효자리가 16자리에서 12자리로 줄어듭니다. //이런 경우 아래 처럼 바꾸어 정밀도 손실을 피할 수 있습니다. 1 / (Math.sqrt(10001) + Math.sqrt(10000)) 10진수로 정확하게 딱 떨어지는 값도 계산 결과가 어긋나는데 내부적으로는 이진수로 계산하기 때문입니다. var a = 0.16..