Contents

조회 수 532 추천 수 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
번호 분류 제목 글쓴이 날짜 조회 수
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 573
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 532
49 Java 3.5.4 private의 사용 이유 IT장인 2013.12.28 529
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
Board Pagination Prev 1 2 3 4 5 6 Next
/ 6