Contents

조회 수 529 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
book_7219.png


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형으로 자동 형변환된다.

여러분도 모르는 사이에 내부적으로 데이터 타입을 변환시킨 뒤 계산이 이루어질 수도 있으며, 여러분이 직접 데이터의 형태를 변환한 후 계산을 할 수도 있다.

일단 여기서 주장하고자 하는 것은 가장 기본적인 데이터 타입의 분류는 정수형과 실수형으로 나눌 수 있으며, 이 기준은 비트의 조합에 관련된다는 것이다.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
20 Java 1.6.2 할당의 법칙 IT장인 2013.11.21 380
19 Java 1.6.1 데이터 타입과 변수, 상수 IT장인 2013.11.21 446
18 Java 1.5.3 상수의 의미 IT장인 2013.11.21 573
17 Java 1.5.2 변수의 의미 IT장인 2013.11.21 387
16 Java 1.5.1 데이터 타입의 목적 IT장인 2013.11.21 330
15 Java 1.4.5 그 외 데이터 타입 IT장인 2013.11.21 68112
14 Java 1.4.4 정수형과 실수형 데이터 타입 IT장인 2013.11.21 593
» Java 1.4.3 정수형과 실수형의 계산 IT장인 2013.11.21 529
12 Java 1.4.2 정수형과 실수형 메모리의 형태 IT장인 2013.11.21 1366
11 Java 1.4.1 데이터 타입의 분류 IT장인 2013.11.21 460
10 Java 1.3.3 메모리에 들어가는 데이터 IT장인 2013.11.21 487
9 Java 1.3.2 변수를 이용한 메모리 접근 IT장인 2013.11.21 469
Board Pagination Prev 1 2 3 4 5 6 Next
/ 6