Contents

조회 수 535 추천 수 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형으로 자동 형변환된다.

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

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

  1. 1.4.3 정수형과 실수형의 계산

  2. 1.4.4 정수형과 실수형 데이터 타입

  3. 1.4.5 그 외 데이터 타입

  4. 1.5.1 데이터 타입의 목적

  5. 1.5.2 변수의 의미

  6. 1.5.3 상수의 의미

  7. 1.6.1 데이터 타입과 변수, 상수

  8. 1.6.2 할당의 법칙

  9. 1.6.3 할당의 예

  10. 1.6.4 결론

  11. 2.1.1 핵심 Question

  12. 2.1.2 기본 데이터 타입의 한계

Board Pagination Prev 1 2 3 4 5 6 Next
/ 6