2의 보수란? → 양수를 음수로, 음수를 양수로 바꿔주는 연산.
컴퓨터는 덧셈연산 밖에 못한다!
10 : 0000 1010 → ~10 : 1111 0101 (NOT 연산)
10의 보수 +1 : 1111 0110
10 + 10의 보수 : 1 0000 0000 → 1은 오버플로로 삭제됨 = 0
1의 보수 → 컴퓨터에서 1의 보수는 1과 0을 반전시켜주는 역할을 한다.
0001 0111 → 23
1110 1000 → 23의 1의보수
1111 1111 → 결과: 256
1111 1111의 보수 : 0000 0000 → 1의 보수
1의 보수만을 사용해 연산을 할 시 비트반전을 너무 많이 해야한다는 단점이 있다. 그래서 2의 보수 등장!
1의 보수를 사용하면 2n번의 비트반전.
2의 보수를 사용하면 4비트의 공간에선 4번의 비트반전과 +1연산, 8비트에서는 8번의 비트반전과 +1 연산이 필요하다. ⇒ n+1번의 비트반전.
'Today I Run' 카테고리의 다른 글
[Git] Stash 알아보기 (0) | 2024.05.09 |
---|---|
[SpringBoot] jpa-ddl-auto (0) | 2024.05.08 |
[JAVA] String에서 +를 하면 안되는 이유 (0) | 2024.05.08 |
[MarkDown] MD문법 총정리! (0) | 2024.05.08 |
VMware Ubuntu 실행안될때.. <Failed to connect pipe to virtual machine> (0) | 2024.05.07 |