-
변수 종류와 데이터 타입기타/변수와 데이터 2020. 11. 17. 16:09
변수 타입의 종류
데이터 자료형 정수 byte, shot, int, long 실수 float, double 문자 char 참과 거짓 boolean 숫자의 표현방식
컴퓨터의 숫자는 '1'과 '0'으로 이루어져있다.
그래서 숫자를 표현할때 우리가 사용하는 10진수를 2진수로 바꿔서 사용해준다
ex) 10 => 1010
여기서 숫자 10을 표현할때 사용되는 비트는 4비트이다.
비트는 2진수 기준으로 할당해줘야한다.
1byte = 8bit
이걸 생각하면서 변수의 데이터 값을 할당해줘야한다.
이유는 아래에 나온다.
정수 표현방식
자료형 메모리 크기 표현가능 범위 byte 1byte (8bit) -128 ~ 127 shot 2byte (16bit) -32768 ~ 32767 int 4byte (32bit) -2147483648 ~ 2147483647 (약 21억) long 8byte (64bit) -922337036854775808 ~ 9223372036854775807 아래와 같이 x, y에 똑같이 2를 나타내는 변수를 만든다.
byte x = 2;
long y = 2;
이 경우 각각 사용되는 메모리는 1byte / 8byte 이다.
변수의 값은 같아도 할당되는 메모리의 차이가 난다.
그렇기 때문에 변수 값에 맞는 자료형을 할당해야 메모리를 절약할 수 있다.
실수 표현방식
자료형 메모리 크기 bit 구성 float 4byte (32bit) 부호(1bit) + 지수(8bit) + 가수(23bit) = 32 bit = 4 Byte double 8byte (64bit) 부호(1bit) + 지수(11bit) + 가수(52bit) = 64 bit = 8 Byte 실수란 소수점을 가진 숫자다.
실수는 무한하게 존재한다.
ex) 1.1, 3.58423
실수는 무한하고 컴퓨터 저장공간은 한정되어있기 때문에 최대한 근사값으로 표현된다.
문자 자료 표현방식
자료형 메모리 크기 표현범위 char 2byte (8bit) (가변형) 부호(1bit) + 지수(8bit) + 가수(23bit) = 32 bit = 4 Byte char타입은 유니코드 문자를 저장한다.
컴퓨터는 각 유니코드 문자마다 고유의 번호를 할당하고 있다.
우리가 문자를 입력하면 컴퓨터에선 자동으로 고유번호와 링크되어있다.
char a = 'a'; System.out.println(a); //a System.out.println((int) a); //97
97이란 숫자는 1바이트로 표현 할 수 있다.
하지만 char는 무조건 2바이트를 할당한다.
이것은 비효율적이기에 가변길이의 문자 인코딩이 생겨났다.
참 거짓 자료형
ture, false 두 값을 이용해 조건문을 만들때 주로 사용된다.
'기타 > 변수와 데이터' 카테고리의 다른 글
데이터 타입의 변환 (0) 2020.11.18 변수의 사용 범위 (0) 2020.11.18 char와 String의 차이 (0) 2020.11.17