메모 & 코드를 비활성화.
한줄이랑 여러줄.
한줄은 //
여러줄은 /* */
+ 문서 주석 /** */
컴파일 대상에서 제외됨
가독성을 높이기 위해서.
여러 코드가 중첩되어 있을 때,
코드의 시작과 끝을 확인하기 편하려고.
데이터를 저장하기 위해 이름을 할당받은 메모리 공간
데이터를 넣을 수 있는 방을 마련하는 것
boolean, char, byte, short, int, long, float, double
-21억~21억
-> -2,147,483,648 ~ 2,147,483,647
정수형 데이터타입(자료형)으로 4byte의 메모리공간을 할당받는 변수 num을 선언한다.
int타입의 4byte만큼을 이 변수를 위해 메모리 공간을 할당한다는 것이다.
즉, num 변수의 메모리 공간이 4byte만큼 확보된다는 것을 의미한다.
(메모리 공간에 정수가 들어감)
char ch = 'a'
출력 결과: a
데이터 타입에 맞춰서 표를 찾아 A(문자)->숫자 인코딩 / 숫자->A(문자) 디코딩 된다.
a = 97, A = 65 와 같이 1:1 매칭으로 약속되어있음 (표준)
"_"공백(sp) 32, 0=34, 1=3
ASK2코드, Unicode 표를 참고한다.
1. 인코딩
a 라는 문자가 char 타입이라 컴퓨터가 알아 들을 수 있도록
ASK2코드(유니코드)표를 참고해 이진수로 변환되어 컴퓨터(cpu)에 전달된다.
2. 디코딩
컴퓨터가 가진 이진수를 데이터 타입을 참고하여 같은 값을 가지고
있는 폰트를 찾아 화면에 출력한다.
미국정보교환표준부호(American Standard Code for Information Interchange),
줄여서 ASCII(아스키)코드는 1960년대 미국에서 영문 알파벳 대소문자 52개와
10개의 숫자,32개의 특수 문자, 공백 등을 비롯해 95개의 출력 가능한 문자들로
총 128개로 이루어져 있다.
- 보수(complement)란 두 수의 합이 진법의 밑수가 되게 하는 수를 말한다.
(10진수에서 6의 보수는 4, 7의 보수는 3)
- 컴퓨터에서는 음의 정수를 표현하기 위해서 2의 보수법을 사용한다.
2의 보수는 양수 2진수의 1의 보수를 구한 뒤 거기에 1을 더해 음수를 표현하는
방법을 말한다. 이 때 8비트를 넘어가는 맨 앞자리의 수는 전산적으로 버려주게 된다.
이진수의 1의보수는 비트를 반전시켜 얻을 수 있다. (0→1, 1→0)
1) 맨 앞에 부호 비트를 1비트 사용한다. (**0 양수, 1 음수)
하지만 +25와 -25를 더했을 때 0이 나와야 하는데 부호 비트만 바꾸면 0이
나오지 않는다는 문제가 생긴다. 그래서 2의 보수법이 사용되기 시작했다.
2) 2의 보수법 사용(1의보수 +1 :맨 앞은 자동으로 부호 비트가 맞춰짐)
int num1 = -10;
1. 10에대한 2진수의 2의보수가 num1에 들어간다.
2. 메모리에 32개 방을 만든다.(int, 4byte = 32bit)
3. 10을 2진수로 바꾸고 1의 보수를 구한 후 1을 더해(2의 보수를 구함)
4. num1에 들어간다.
-5의 2진수 값은 2의 보수법에 의해 구한 결과로 '11111011'이 나온다.
계산방법은 다음과 같다.
00000101
+5의 1의 보수: 11111010
1을 더함(+5의 2의 보수): 11111011
+5 : 00000101
-5 : 11111011
0 : 00000000
실수와 실수 사이에는 무한대의 실수가 있어서.
하지만 데이터는 유한하기 때문에 그 모든걸 표현할 수 없다.
정수를 이진수로 표현하는 방법과 실수를 이진수로 표현하는 방법이 판이하게
다르기 때문에 정수와 실수의 데이터 타입을 나눌 수 밖에 없다.
고정소수점: 소수점이 고정되어 있다는 의미이다.
1.0124,0.5421, 0.1234, 0.1234, 0.2648
부동소수점: 소수점이 떠다닌다는 의미이다.
1.123x10^-1, 1.234x 10^-2, 0.1 1x10^-1, 0.001 1x10^-2 .....
3.4e3 -> 3.4 x10^3 (부동소수점) = 3400.0
3.4xe-3 -> 3.4x10^-3 (부동소수점) = 0.0034