본문 바로가기

bitcamp/JAVA

자료형과 표현법

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,

 

'bitcamp > JAVA' 카테고리의 다른 글

반복문  (0) 2021.01.03
연산자  (0) 2021.01.03
상수와 형변환  (0) 2021.01.03
주석과 변수  (0) 2021.01.03
자바(JAVA)의 기본  (0) 2021.01.02