다음 2’s Complement 를 연산하고, 연산결과를 10진수로 변환하시오
a. 01101001+1011
B. 10010011-10101100
c. 0111-11100110
d. 11010001+11100110
2의 보수 연산은 음수를 나타내기 위해 사용됩니다. 2의 보수는 먼저 해당 수의 비트를 반전시킨 다음 1을 더하는 것으로 구할 수 있습니다.
예를 들어, 5의 2의 보수는 다음과 같습니다.
5 (10진수) -> 00000101 (2진수) 비트를 반전시킵니다 -> 11111010 1을 더합니다 -> 11111011
따라서, -5는 11111011 (2진수)로 나타낼 수 있습니다.
각각의 문제에 대해 2의 보수 연산을 수행하고, 그 결과를 10진수로 변환하면 다음과 같습니다.
a. 01101001 + 1011
01101001 (2진수) = 105 (10진수)
1011 (2진수) = 11 (10진수)
따라서, 105 + 11 = 116이 되며, 이 값의 2의 보수는 그대로 116이 됩니다.
b. 10010011 - 10101100
10010011 (2진수) = -105 (10진수)
10101100 (2진수) = -84 (10진수)
먼저, 10101100의 2의 보수를 계산해야 합니다.
10101100 (2진수) -> 01010011 (2진수)
01010011 (2진수) + 1 = 01010100 (2진수)
따라서, 10101100의 2의 보수는 -84의 2의 보수인 01010100 (2진수)가 됩니다.
따라서, -105 - (-84) = -21이 되며, 이 값의 2의 보수는 -21의 2의 보수인 11101101 (2진수)가 됩니다.
c. 0111 - 11100110
0111 (2진수) = 7 (10진수)
11100110 (2진수) = -26 (10진수)
먼저, 11100110의 2의 보수를 계산해야 합니다.
11100110 (2진수) -> 00011001 (2진수)
00011001 (2진수) + 1 = 00011010 (2진수)
따라서, 11100110의 2의 보수는 -26의 2의 보수인 00011010 (2진수)가 됩니다.
따라서, 7 - (-26) = 33이 되며, 이 값의 2의 보수는 그대로 33이 됩니다.
d. 11010001 + 11100110
11010001 (2진수) = -47 (10진수)
11100110 (2진수) = -26 (10진수)
먼저, 11010001의 2의 보수를 계산해야 합니다.
11010001 (2진수) -> 00101110 (2진수)
00101110 (
2진수 00101110의 10진수 값은 46입니다. 따라서, -47의 2의 보수는 00101110 (2진수)이 됩니다.
따라서, -47 + (-26) = -73이 되며, 이 값의 2의 보수는 -73의 2의 보수인 10111001 (2진수)가 됩니다.
따라서, 주어진 연산을 모두 수행한 결과는 다음과 같습니다.
a. 116 (2진수: 01110100) b. -21 (2진수: 11101101) c. 33 (2진수: 00100001) d. -73 (2진수: 10111001)
'IT지식창고 > 잡지식' 카테고리의 다른 글
이클립스 콘솔에 이상한 문자가 나타나는 경우 해결방법 (0) | 2023.04.09 |
---|---|
파이썬 소수점 절사 방법 (0) | 2023.04.09 |
파이썬 질문 입력받고 결과 출력하기 예시 (0) | 2023.04.09 |
파이썬에서 ==와 is 연산자 차이 (0) | 2023.04.09 |
구글에서 한국인들이 가장 많이 검색하는 IT(프로그래밍) 관련 키워드 30가지는? (0) | 2023.03.11 |
댓글