자바 도전기-2

김치전사·2021년 12월 29일
0

자바도전기

목록 보기
2/17

오늘은 진법공부부터 시작했다.

진법 해석은 귀찮지만 그래도 공부해야하니 열심히 했다.

대부분의 컴퓨터는 2진 체계로 설계되었기 때문에, 2진법을 알지 못하면 컴퓨터의 동작원리나 데이터 처리방식을 온전히 이해할 수 없다.

25(10)->11001(2)
한 자리의 2진수를 '비트'라고 하며, 1 비트는 컴퓨터가 값을 저장할 수 있는 최소단위이다.
1바이트는 1비트 8개를 묶은 단위로 데이터의 기본 단위로 사용한다.

워드(word)는 'CPU가 한 번에 처리할 수 있는 데이터의 크기'를 의미한다

n비트로 표현할 수 있는 10진수
값의 개수 : 2^n
값의 범위 : 0~2^n-1

8진수는 2진수 3자리를, 16진수는 2진수 4자리를 각각 한자리로 표현할 수 있기 때문에 자리수가 짧아져서 알아보기 쉽고 서로 간의 변환방법 또한 매우 간단하다

8진수135302
2진수1011101011000010
16진수-B-AC2

8진수는 2진수의 끝부터 3자리씩 끊으면서, 16진수는 2진수의 끝부터 4자리씩 끊으면서, 표현한다.

8은 2의 3제곱이고, 16은 2의 4제곱이기 때문이다

10진수를 n진수로 변환

10진수를 다른 진수로 변환하려면, 해당 진수로 나누고 나머지 값을 옆에 적는 것을 더 이상 나눌 수 없을 때까지 반복한 다음 마지막 몫과 나머지를 아래부터 위로 순서대로 적으면 된다

나누기나머지
211
251
221
10
11(10)->1011(2)가 된다

8진수, 16진수도 위와 같은 방법으로 하면 된다

n진수를 10진수로 변환

10진수2진수2진수2진수2진수
1011=1 * 230 * 221 * 211 * 20
1011=1 * 80 * 41 * 21 * 1
1011=8021
1011=11
1011(2)->11(10)이 된다

8진수, 16진수도 위와 같은 방법으로 하면 된다

음수의 2진 표현-2의 보수법

어떤 수의 'n의 보수'는 더했을 때 n이 되는 수를 말한다

7의 '10의 보수'는 3이고, 3의 '10의 보수'는 7이다. 3과 7은 '10의 보수의 관계'에 있다고 한다

2의 보수= 1의 보수+1

1의 보수는 0을 1로, 1을 0으로만 바꾸면 된다.
예를들어, 2진수'0101'의 1의 보수는 '1010'이다.

음수의 2진표현을 구하는 방법
(1) 음수의 절대값을 2진수로 변환한다
(2) (1)에서 구한 2진수의 1을 0으로 0은 1로 바꾼다(1의 보수 구하기)
(3) (2)의 결과에 1을 더한다(2의 보수 구하기, 1의 보수 +1)
profile
개인공부 블로그입니다. 상업적 용도 X

0개의 댓글