1. 2진수와 10진수의 원리
자신이 표현할 수 없는 범위가 나타나면 자릿수를 1올리고 0을 채운다.
ex) 10진수 > 0 1 2 3 4 5 6 7 8 9 > 다음 표현할 수 있는 숫자 없음 따라서 자릿수 1올리고 0 채움 > 10 11 12 ...
2진수 > 00 01 > 다음 표현할 숫자 없음 > 10 11 > 다음 표현할 숫자 없음 > 100 101 ...
2. 부호 없는 비트에서의 변환
a. 2진수를 10진수로 변환
2진수 각 자리에 해당하는 2의 n승들을 곱한 뒤 다 더한다.
b.10진수를 2진수로 변환
두가지 방법 - ㄱ) 10진수를 2로 나눌 수 없을 때까지 나눈다.
나머지를 밑에서 부터 읽는다.
ㄴ) 10진수보다 크지 않은 2진수 중 제일 큰 값을 뺄 수 없을 때까지 뺀다.
그 값들로 2진수를 구한다.
2. 부호 있는 비트에서의 변환
(이때 맨 왼쪽의 비트는 부호를 나타내는 비트! 1이면 음수이고, 0이면 양수이다. )
a. 음의 정수인 2진수를 10진수로 변환
2진수를 2의 보수를 취해준다. (2의 보수란 1은 0으로, 0은 1로 바꿔주고 1을 더해주는 것.)
나온 값을 10진수로 변환하고 -를 붙인다.
b. 음의 정수인 10진수를 2진수로 변환
10진수의 절댓값을 2진수로 변환한다.
나온 값을 2의 보수를 취해준다.
**2의 보수 쓰는 이유?
1의 보수(그냥 0과 1 뒤집기만 하는 것)를 쓸 경우 0을 나타내는 표현이 2가지가 되어버린다.
0000 0000
1111 1111
2의 보수를 취하면 +1 해줌으로 0의 2진수 표현은 언제나 0000 0000 이다.
'CS > 기타' 카테고리의 다른 글
1. AI란 무엇인가? (0) | 2022.11.17 |
---|