JAVA complement, radix(binary, octal, hexadecimal), conversion(implicit, explicit), operators (230615)

이원건·2023년 6월 15일
0

JAVA

목록 보기
3/33
post-thumbnail

1. 2의 보수법이란?

  • int와 같은 부호가 있는 정수에서 음수를 표현하기 위해 고안한 방식. 음수로 바꾸고 싶은 수를 1의 보수를 취한 후 거기에 1을 더한다
    ex) 8 bits로 구성된 수가 있다고 치고 18을 음수로 바꾸고 싶다고 할 때
    18 -> (00010010) 이것을 -18로 바꾸고 싶으면
  1. 1의 보수를 취한다:
  • (00010010) -> (11101101)
  1. 1의 보수를 취한 수에 1을 더한다.
  • (11101101) -> (11101110)

결과: 11101110 -> -18


2.아래의 진수 표기법을 설명하시오.

  1. 0
    8진수를 나타낼 때 사용한다.
    • ex) 0123 = 83
  1. 0x
    16진수를 나타낼 때 사용한다.
    • ex) 0xf5 = 245
  1. 0b
    2진수를 나타낼 때 사용한다.
    • ex) 0b10111010 = 186

3.자동 형변환 규칙에 대하여 설명하시오.

  • primitive 타입을 기준으로 연산 시 표현 범위가 큰 값에 맞춰 형 변환이 이뤄진다.(java 기본 숫자 타입은 int)
    ex)
    • short + int => int
    • long + int => long
    • long + float => float
    • double + int => double

4.강제(명시적) 형변환에 대하여 설명하시오.

  • 연산 시에 자동으로 형 변환이 일어나므로 원하는 값을 얻기 위해, 원하는 형태의 값을 얻기 위해 강제로 형변환을 하는 것.

5. 결합 방향에 대하여 설명하시오.

  • 결합방향이란 우선순위가 동일한 연산자가 하나의 수식에 존재하는 경우, 연산 순서를 결정해주는 것.
연산기호결합방향우선순위
[], .1(높음)
expr++, expr--2
++expr, --expr, +expr, -expr, ~, !, (type)3
*, /, %4
+, -5
<<, >>, >>>6
<, >, <=, >=, instanceof7
==, !=8
&9
^10
|11
&&12
||13
? expr : expr14
=, +=, -=, *=, /=, %=, &=, ^=, |=, <<=, >>=, >>>=15(낮음)

6. 복합대입 연산자에 대하여 설명하시오.

  • +=, -=, *=, /=, %= 등과 같이 연산자 두개로 구성되며 그 중에 하나에 =이 있는 연산자

ex)

short num = 20;
num += 15L;

이런 식으로 나타낼 수 있는데, 이렇게 나타내게 되면

short num = 20;
num = (short)(num + 15L);

위와 똑같이 동작하게 된다.


7. 아래의 연산자에 대하여 설명하시오.

  • && -> 논리 연산자 and
  • || -> 논리 연산자 or
  • ! -> 논리 연산자 not

8. 2의 배수 및 3의 배수인가 를 코딩 하시오.

public class Multiple{
    public static void main(String[] args){
        int num = 35;
        boolean result;
        result = (num % 2 == 0) || (num % 3 == 0);
        System.out.println("num : " + num + "은 2의 배수 이거나 3의 배수? :" + result);
    }
}

0개의 댓글