예전에 샀던 '한권으로 읽는 컴퓨터 구조와 프로그래밍'이라는 책의 챕터 1을 오늘에서야 처음으로 읽어봤다.
책의 내용을 푸는 방식자체는 쉽게 풀었지만 애초에 내용이 너무 재미없... 아니 어려운데다가 책에서 담고있는 내용이 많아서 쉽게 읽을 수 있을 것 같지는 않다. 그래도 기초 컴퓨터 내용을 습득해두면 나중에 도움이 될테니 여유될 때마다 읽어둬야겠다. 여유될때마다 읽어서 [한컴프] 라는 소제목으로 적으려고 한다.
오늘은 1장 컴퓨터 내부의 언어 체계 챕터에서 앞부분을 공부했다. 그 중에서 기억해둬야할 것들만 추려 아래에 적어둔다.
적은 비용으로 편리하게 기호를 담을 수 있어서
둘 다 false면 false, 둘 중 하나만 true면 true, 둘 다 true면 false
드모르간의 법칙을 사용하면 and연산 <-> or연산을 서로 바꿀 수 있다. 이는 연산을 최소로 사용할 수 있게 해주고, 연산을 최소로 사용하면 비용을 최소화 할 수 있다. 또한, 연산을 연쇄적으로 사용하면 계산이 느려지기 때문에 최대한 연산의 길이를 줄여야 한다.
1) 부호와 크기 표현법 : 맨 앞자리 비트를 부호비트로 정하는 방법
부호 | 2의 2승 | 2의 1승 | 2의 0승 | 10진수 |
0 | 1 | 1 | 1 | +7 |
0 | 1 | 1 | 0 | +6 |
0 | 1 | 0 | 1 | +5 |
0 | 1 | 0 | 0 | +4 |
0 | 0 | 1 | 1 | +3 |
0 | 0 | 1 | 0 | +2 |
0 | 0 | 0 | 1 | +1 |
0 | 0 | 0 | 0 | +0 |
1 | 0 | 0 | 0 | -0 |
1 | 0 | 0 | 1 | -1 |
1 | 0 | 1 | 0 | -2 |
1 | 0 | 1 | 1 | -3 |
1 | 1 | 0 | 0 | -4 |
1 | 1 | 0 | 1 | -5 |
1 | 1 | 1 | 0 | -6 |
1 | 1 | 1 | 1 | -7 |
* 부호와 크기 표현법의 단점
0을 표현하는 방법이 두 가지라서 비용이 낭비됨.
부호와 크기 표현법을 사용하면 XOR과 AND를 통한 덧셈 계산을 사용할 수 없음.
0001(+1) + 1001(-1) = 1010(-2)
2) 1의 보수 표현법 : 양수의 모든 비트를 뒤집는 방법
부호 | 2의 2승 | 2의 1승 | 2의 0승 | 10진수 |
0 | 1 | 1 | 1 | +7 |
0 | 1 | 1 | 0 | +6 |
0 | 1 | 0 | 1 | +5 |
0 | 1 | 0 | 0 | +4 |
0 | 0 | 1 | 1 | +3 |
0 | 0 | 1 | 0 | +2 |
0 | 0 | 0 | 1 | +1 |
0 | 0 | 0 | 0 | +0 |
1 | 1 | 1 | 1 | -0 |
1 | 1 | 1 | 0 | -1 |
1 | 1 | 0 | 1 | -2 |
1 | 1 | 0 | 0 | -3 |
1 | 0 | 1 | 1 | -4 |
1 | 0 | 1 | 0 | -5 |
1 | 0 | 0 | 1 | -6 |
1 | 0 | 0 | 0 | -7 |
* 1의 보수 표현법의 단점
0을 두가지 방식으로 표현함. 덧셈방식이 순환올림을 이용하여 이루어지는 등 복잡한 구조를 가짐.
3) 2의 보수 표현법 : 양수의 모든 비트를 뒤집고 1을 더하는 방법 (올림이 발생하면 그 값은 버린다.)
부호 | 2의 2승 | 2의 1승 | 2의 0승 | 10진수 |
0 | 1 | 1 | 1 | +7 |
0 | 1 | 1 | 0 | +6 |
0 | 1 | 0 | 1 | +5 |
0 | 1 | 0 | 0 | +4 |
0 | 0 | 1 | 1 | +3 |
0 | 0 | 1 | 0 | +2 |
0 | 0 | 0 | 1 | +1 |
0 | 0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 | -1 |
1 | 1 | 1 | 0 | -2 |
1 | 1 | 0 | 1 | -3 |
1 | 1 | 0 | 0 | -4 |
1 | 0 | 1 | 1 | -5 |
1 | 0 | 1 | 0 | -6 |
1 | 0 | 0 | 1 | -7 |
1 | 0 | 0 | 0 | -8 |
* 2의 보수 표현법의 장점
0을 표현하는 방법이 하나 뿐임
왜 반 열린 공간을 사용하게 되었을까? (2) | 2022.10.08 |
---|
댓글 영역