Java
2013.11.21 21:55
1.4.3 정수형과 실수형의 계산
조회 수 536 추천 수 0 댓글 0
1.4.3 정수형과 실수형의 계산
자바에서 int형 5와 float형 5.0을 표현하기 위해서 4바이트가 필요하다. 이렇게 메모리의 크기는 같지만 비트의 조합이 다른 두 수를 컴퓨터 입장에서 덧셈 계산을 한다고 가정하자. 그렇다면 다음과 같은 생각을 해 볼 수도 있다.
□ 질문
◇ 메모리의 사이즈는 같지만 int형 5와 float형 5.0을 컴퓨터 언어에서 아무런 조치 없이 더할 수 있을까?
분명한 것은 5와 5.0은 메모리에 적재되는 형태가 전혀 다르다는 것이다. 컴퓨터가 이 계산을 하기 위해서는 소수점 형태로 되어 있는 5.0을 정수로 바꾸어서 계산을 하든지, 아니면 정수 5를 소수점 형식으로 변환해야만 가능하다. 일반적인 프로그램에서는 후자의 경우를 선택하게 된다.
□ 기본 데이터 타입의 형변환
◇ 큰 수와 작은 수를 연산했을 때 큰 수로 형변환된다.
◇ 덜 정밀한 수와 정밀한 수를 연산했을 때 정밀한 수로 형변환된다.
◇ 정수와 실수를 연산했을 때 실수형으로 형변환된다.
◇ 작은 수가 큰 수로 형변환되는 것은 자동이다.
― 반대의 경우는 강제 형변환이 필요-오버플로우 발생
◇ 덜 정밀한 수가 정밀한 수로 형변환되는 것은 자동이다.
― 반대의 경우는 강제 형변환이 필요-오버플로우 발생
□ 형변환의 예 double d = 3 * 4.5F;
◇ 3 * 4.5F의 결과는 float형이 된다.(정수와 실수의 연산)
◇ float형의 결과가 double d에 할당되면서 float형이 double형으로 자동 형변환된다.
여러분도 모르는 사이에 내부적으로 데이터 타입을 변환시킨 뒤 계산이 이루어질 수도 있으며, 여러분이 직접 데이터의 형태를 변환한 후 계산을 할 수도 있다.
일단 여기서 주장하고자 하는 것은 가장 기본적인 데이터 타입의 분류는 정수형과 실수형으로 나눌 수 있으며, 이 기준은 비트의 조합에 관련된다는 것이다.
번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|---|
56 | Java | 2.2.4 사용자 정의 데이터 타입 테스트 | IT장인 | 2013.11.22 | 659 |
55 | Java | 1.4.4 정수형과 실수형 데이터 타입 | IT장인 | 2013.11.21 | 594 |
54 | Java | 1.5.3 상수의 의미 | IT장인 | 2013.11.21 | 574 |
53 | Java | 1.1.4 자바의 최종 목표 | IT장인 | 2013.11.21 | 556 |
52 | Java | 1.2.2 데이터 타입의 두 번째 목적 | IT장인 | 2013.11.21 | 552 |
51 | Java | 3.6.1 객체의 메모리 생성 | IT장인 | 2013.12.28 | 536 |
» | Java | 1.4.3 정수형과 실수형의 계산 | IT장인 | 2013.11.21 | 536 |
49 | Java | 3.5.4 private의 사용 이유 | IT장인 | 2013.12.28 | 530 |
48 | Java | 1.3.3 메모리에 들어가는 데이터 | IT장인 | 2013.11.21 | 487 |
47 | Java | 1.1.3 데이터 타입이란? | IT장인 | 2013.11.21 | 477 |
46 | Java | 1.3.2 변수를 이용한 메모리 접근 | IT장인 | 2013.11.21 | 469 |
45 | Java | 1.2.3 메모리의 크기와 형태 | IT장인 | 2013.11.21 | 466 |