프로그래밍 언어/자바의 정석 기초편

자바의 정석 기초편 ch2-11 기본형의 종류와 범위

life grow 2022. 5. 5. 22:56

여러문자 사용하고 싶으면 String 써야됨

자바에서 데이터를 다루는 최소단위가 byte이다.

 

실수형은 실수를 부동소수점(floating point형식으로 저장)으로 저장

부동: 떠다닌다.

 

 

4. 기본형 - 표현범위(1/3)

타입의 크기는 그 타입으로 선언된 변수의 크기다.

b에 3을 저장하면 10진수 3이 2진수로 변환되어 저장된다.

컴퓨터는 0과 1밖에 모른다.

타입마다 값이 저장되는 형식이 있다.

 

n비트로 부호없는 정수의 범위에서 0을 포함시켜야된다.

그래서 2ⁿ-1개가 되는거다.

1부터 시작했으면 2ⁿ-1개를 해줄 필요가 없음. 

부호있는 정수의 범위는 양수, 음수 모두 표현할 수 있어야 하기 때문에

표현할 수 있는 범위의 절반을 음수로 표현해 사용한다.

 

자바에서 정수형은 모두 부호가 있다.

정수의 범위하고 타입의 크기만 알고 있으면 각 정수형의 크기를 계산해낼 수 있다.

 

n비트로 표현할 수 있는 값의 갯수는 2ⁿ개로 똑같지만 

부호의 유뮤에 따라 값의 범위가 달라진다.

 

4. 기본형 - 표현범위(2/3)

부호비트가 0이면 양수, 1이면 음수

 

char 타입은 문자를 저장하기 위한 타입이지만

컴퓨터는 모든 데이터를 숫자로 저장하기 때문에

문자도 지정된 문자코드로 변환되어 저장된다.

만약 변수ch에 'A'를 저장하면 문자 A가 그대로 저장되는게 아니라

문자 A에 문자코드인 65가 저장된다. 엄밀히 2진수로 저장됨

문자코드: 문자의 일련번호

 

short 타입, char 타입 차이

char타입은 부호비트가 없다.

그래서 서로의 범위가 다름

 

int타입 범위는 -20억~20억이라고 기억하기

long타입 범위는 -800경~800경

혹시 800경 넘는 값을 다뤄야하면 Biginteger

 

4. 기본형 - 표현범위(3/3)

E는 10의 몇제곱인지를 나타내기 위한 기호

float타입은 값을 부호, 지수, 가수로 나눠서 저장된다.

실수형은 원래 저장하려는 값과 실제로 저장된 값 사이에

오차가 발생할 수 있다.

 

정밀도: 값을 몇자리까지 오차없이 정확하게 표현할 수 있는지

정밀도를 결정하는건 가수의 자릿수

 

실수를 저장할 변수의 타입을 선택할 때 단순히 저장가능한 범위만으로

타입을 선택해서는 안된다.

정확한 계산을 해야할 때는 정밀도가 더 중요하기 때문이다.