형변환
·
자바/기본적인 개념
1. 실수 float와 double - 위의 예제에서 보면 다 똑같이 답이 나와야 될 것 같지만, 사실 1번과 3번만 같고 2번만 다르다. 이것이 다른 이유는 float와 double의 정밀도 차이에 있다. - 즉, float는 7자리까지, double은 15자리까지 차지할 수 있기 때문에, 그 이상의 자리는 오차가 발생할 수 있다. - 그런데 "2번과 3번은 같아야 되는거 아닌가?" 라고 생각할 수 있다. 하지만 같지 않은 이유는 이미 f 변수는 float 형식으로 저장되어 있기 때문에 double로 형변환하여도 이미 결과가 float로 나온다. - float 예제 (위에서 말했듯이 float는 7자리까지만 정밀도가 가능하기에 7을 반올림 하여 6의 자리에 7이 된다.) - 변환 예제(1) (여기서는 ..
실수형의 저장 형식과 부동 소수점의 오차
·
자바/기본적인 개념
1. 실수형의 저장 형식 - S는 부호 비트이며, 0이면 양수 1이면 음수를 나타낸다. 또한 양의 실수에서 음의 실수로 변환할 때, 정수형과 달리 '2의 보수법'을 사용하지 않고 그저 부호비트만 바꿔주면 된다. - E는 지수이며, float는 -127 ~ 128, double은 -1023 ~ 1024의 범위를 가진다. (그러나, 실제로는 숫자 아님(NAN)과 양의 무한대와 음의 무한대를 표현하기 위해 예약되어 있으므로 float는 -126 ~ 127까지의 값을 표현할 수 있다.) - M은 가수이며, 실제 값을 저장하는 부분이다. 또한 float와 double은 각각 정밀도가 다르므로 유의한다. * S와 E, M을 합쳐서 부동소수점의 형태로 저장한다. 그러므로, 값의 범위는 (+-)Mx2^E로 저장이 된다..
비트(bit)와 바이트(byte) 그리고 워드(word)
·
자바/기본적인 개념
1. 비트 - 한 자리의 2진수를 비트라고 하며, 1 비트는 컴퓨터가 값을 저장할 수 있는 최소 단위이다. - N 비트로 표현할 수 있는 10진수 (값의 개수: 2^N) (값의 범위: 0~(2^N)-1) 2. 바이트 - 비트는 작은 단위이게에 1비트를 8개씩 묶어서 바이트라 단위로 정의해서 데이터의 기본 단위로 사용한다. 3. 워드 - CPU가 한 번에 처리할 수 있는 데이터의 크기를 의미한다. - CPU의 성능에 따라 워드의 크기가 달라진다. (32비트 -> 1워드 = 4바이트) (64비트 -> 1워드 = 8바이트)
형식화된 출력 - prinf()
·
자바/기본적인 개념
원래는 println을 써 왔다. 그러나 만약 소수점 둘째짜리까지만 출력하거나, 16진수 또는 8진수를 출력할 때는 printf를 사용한다. 방식은 c언어와 비슷하며, \n이 %n만 다르다. ※ 참고 - %b: boolean - %o: 8진수 - %x 또는 %X: 16진수 - %e 또는 %E: 지수 표현식 - %g: 값을 간략하게 표현할 때 사용 - %f: 기본적으로 소수점 6자리까지만 출력 (소수점 7자리에서 반올림) (+ 만약 자신이 원하는 자릿수까지 나타내고 싶다면, f 앞에 숫자를 붙인다.) (+ 예를 들어, %14.10f는 총 14자리에 소수점은 10자리로 하겠다는 의미이다.) (+ 이때, 소수점 위에 있는 숫자는 3자리를 차지하게 되는데, 만약 2자리라면, 공백을 채운다.) (+ 만약 공백 말..