◾ 자료형
자료형이란 변수를 데이터 형식을 지정해주는 것이다.
크기 단위 = byte 를 사용한다.
-> 1byte = 8bit 로 나타내는데 1bit는 0과1로 나타낼 수 있다.
int i = 0;
-> int = 자료형을 나타낸다.
-> i = 변수명을 나타낸다. (마음대로 정해도 상관없음)
◾ 정수형
정수형의 종류는 char(1), short(2), int(4), long(4), long long(8) 등이 있다.
// 1byte 양수 표현
// 0 ~ 255
unsigned char c = 0;
c = 0;
c = 255;
c = 256;
-> unsigned 를 사용하면 오직 양수만 사용하겠다고 선언하는 것이다.
-> 그러므로 0 ~ 255 까지 나타낼 수 있다.
-> 256일 경우 -1이 나온다. 왜냐하면 char은 1byte로 8칸을 넘어서기 때문에 ?
// 1byte 양수, 음수 둘다 표현
// -128 ~ -1, 0 ~ 127
char a = 0;
a = 255;
-> 자료형 앞에는, signed 가 생략되어 있다. 그러므로 양수와 음수 둘 다 사용 가능하다.
// 대응되는 양수의 부호를 전환 후, 1을 더한다.
// 0 0 0 0 0 0 1 0 = 2 -----
// 1 1 1 1 1 1 0 1 + 1 ㅣ + 더해주기
// 1 1 1 1 1 1 1 0 = -2 -----
// 0 0 0 0 0 0 0 0
-> 이렇게 하면 쉽게 찾을 수 있다.
◾ 실수형
실수형 종류는 float(4), double(8) 등이 있다.
실수형은 정수표현 방식과 다른데 실수 표현방식은 정밀도에 의존한다.
따라서 double(8) 자료형이 float(4)보다 더 아래의 소수점까지 정확하게 표현이 가능하다.
float f = 10.2415f + (float)20; // 안 적어줘도 자동으로 변환해주지만 명시적으로 변환하자
-> 정수는 정수끼리, 실수는 실수끼리 연산하되, 두 표현방식의 피 연산자가 연산될 경우 명시적으로 반환하자
-> 실수를 상수로 적을 경우 소수점 뒤에 f 를 붙이면 float 자료형으로, f 를 붙이지 않으면 double 자료형으로 간주한다.