TIL - 2021/05/05

dawn·2021년 5월 5일
0

TIL

목록 보기
10/14

스프링

RootConfig클래스는 스프링이 로딩되면서 읽어 들이는 문서이므로, 주로 이미 만들어진 클래스들을 이용해서 스프링의 빈으로 등록할 때 사용된다.
@Bean이 선언된 메서드의 실행 결과로 반환된 객체는 스프링의 객체(Bean)로 등록된다.


알고리즘

public class q1059 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        System.out.println(~a);
    }
}

비트단위(bitwise) 연산자는,
~(bitwise not), &(bitwise and), |(bitwise or), ^(bitwise xor), <<(bitwise left shift), >>(bitwise right shift)가 있다.

int 형의 정수 0은
00000000 00000000 00000000 00000000
그리고 -1은 0에서 1을 더 빼고 32비트만 표시하는 형태로
11111111 11111111 11111111 11111111 로 저장된다.
-2는 -1에서 1을 더 빼면 된다.
11111111 11111111 11111111 11111110 로 저장된다.
그래서 int 형으로 선언된 변수에는 최소 -2147483648 을 의미하는
10000000 00000000 00000000 00000000 부터
최대 +2147483647 을 의미하는
01111111 11111111 11111111 11111111 로 저장될 수 있는 것이다.
그렇다면 -2147483648
10000000 00000000 00000000 00000000 에서 1을 더 뺀다면?
01111111 11111111 11111111 11111111 이 된다.
즉 -2147483649 가 아닌 +2147483647 이 되는 것이다.
이러한 것을 오버플로우(overflow, 넘침)라고 한다.
이러한 내용을 간단히 표시하면, 정수 n이라고 할 때,
~n = -n - 1
-n = ~n + 1 과 같은 관계로 표현된다.

비트단위연산자 책에서만 봤는데 처음 써봤다.


github에 실습한 프로젝트를 올리려고 했는데 시스템 파일들까지 추적하고 있었다.(캡쳐해놓는걸 까먹었다.)
프로젝트가 사용자 폴더안에 있어서 그런가 해서 C드라이브 밑으로 옮겼더니 더이상 추적안한다.
그리고 git remote add 명령어 전에 git init을 안해줘서 한번더 에러떴다.ㅎㅎ
그 다음 gitignore파일 만들고 올렸더니 정상적으로 올라갔다!!

오라클 설치는 주말에 다시 한번 시도해봐야겠다. 안되면 그냥 해야지... 일단 mysql로 연결해서 실습했다.

profile
안녕하세요

0개의 댓글