1. 기본 자료형이란? (feat. 8형제 외우기!!)
· 자바의 자료형은 크게 기본형(8개) + 참조형(1개)로 나뉜다.
2. int 형 범위는 어떻게 되는가?
· 1byte는 8bit에 해당되어 int는 4byte이므로 32bit의 크기를 지닌다. (메모리에 2의 32승 할당 공간이 생성)
· 음수 부호부터 지정하면 -2,147,483,648 ~ 2,147,483,647 의 범위가 형성된다.
3. 아스키 코드란?
· 입력된 문자나 기호들을 컴퓨터가 인식할 수 있도록 이진수로 변환되어야 하는데 아스키 코드표를 통하여 실행된다.
· 아스키코드표(영어기준-표준/ A=65, B=66, C=67), 유니코드표(통합)
4. char ch1= 'A'; 문자가 출력되는 원리에 대하여 설명하시오.
· 전산상에서 문자 A는 유니코드표를 통해 숫자로 변경되고 CPU에서 사용되는 기계어(이진수)로 변경되어 프로그래밍된다.
· char ch = '1' 과 int num = 1 의 차이점
ch의 1은 문자로 인식되어 코드표를 통해 실행되고 num의 1은 숫자로 인식된다.
· encoding이란? '1' → 34 문자를 숫자로 변경하는 과정, decoding이란? 34 → '1' 숫자를 문자로 변경하는 과정
System.out.println(ch); 실행 시에 1이 출력되는 이유는 char를 역으로 찾기때문에 1로 해석되어 출력된다.
(문자의 저장은 유니코드 값의 저장으로 이어진다)
5. 양의 정수 표현법
· 아래와 같이 부호 자리가 0이면 양의 정수, 1이면 음의 정수를 뜻하며, 나머지 비트는 값의 크기를 결정한다.
· ex) 양수 25, 2진수 표현법
6. 2의 보수법이란?
· 양의 정수 표현법을 기반으로 음의 정수를 표현한다면 두 개의 합이 0이 저장되어야 하지만 오류가 발생한다.
이러한 오류를 방지하기 위해 2의 보수법을 이용하여 음의 정수를 표현한다.
· ex) 양수 25 와 음수 25를 합한다면? 0의 값이 출력되지 않음.
7. 음의 정수 표현법
· 양의 정수 이진수에 1의 보수를 취한 후, 그 값에 1을 더하여 음의 정수를 표현.
· ex) 음수 25, 2진수 표현법
8. 정밀도란?
· 소수점이 고정되는 자리를 말하며, 연산 과정/결과에 쓰이는 정밀도에 따라 자료형을 결정하여 사용한다.
· float 타입은 소수점 이하 6자리 (6자리의 정밀도)를, double 타입은 소수점 이하 15자리 (15자리의 정밀도)를 지님
· 두 개의 소수점을 연산하게 되는 경우 반드시 오차 발생한다. (오차를 방지하기 위해서는 반올림을 할 것인지 하지 않을 것인지 고객과의 확인 필수!)
9. 실수의 표현법(고정소수법, 부동소수법)을 설명하시오.
· 고정소수법(Fixed Point): 0.1234, 1.234, 12.34 등과 같이 사용자가 소수점을 고정해서 사용하는 방법.
· 부동소수법(Floating Point): 0.1234 x 10, 0.1234 x 10의2승, 0.1234 x 10의 3승 등과 같이 숫자를 고정시키고 소수점을 이동시켜 사용하는 방법.
10. 아래와 같이 실수 연산 시 오차가 생기는 원인은 무엇인가?
· 유한한 공간을 지닌 메모리에 비해 실수는 범위가 아무리 작더라도 존재하는 실수가 무한대이므로
한정 된 메모리에 실수를 저장하기 위해 범위를 정하고 범위 내에 숫자를 지정하게 되는데,
이 때 지목 된 값을 정해진 숫자의 근사값으로 결정하게 되므로 오차가 발생하게 된다.
(실수의 범위가 클수록 오차↑, 작을수록 오차↓)
· 범위 내 숫자 지정하는 공식: +-(1.m)x2e-127
· 정수와 실수를 이진수로 표현하는 방법이 다르기 때문에 자료형은 실수와 정수로 나뉜다.
(정수는 숫자가 명확하게 정해져있다면 실수는 근사치를 나타내기 때문)
11. 표기법
· 2진수: 영문 ob/OB + 숫자
· 8진수: 숫자 0 + 숫자
· 10진수: 표기안함
· 16진수: 숫자와 영문 0x + 숫자
· 실수형 상수의 e 표기법: e = 10,