데브허브 | DEVHUB | [컴퓨터는 왜 부정확할까?] 05. Handling Negative Numbers in Computers (컴퓨터가 음수를 처리하는 방법)[컴퓨터는 왜 부정확할까?] 05. Handling Negative Numbers in Computers (컴퓨터가 음수를 처리하는 방법)
- 컴퓨터는 음수를 처리하기 위해 '보수 시스템'을 활용하며, 이는 뺄셈을 덧셈으로 변환하여 하드웨어 복잡성을 줄이고 연산 속도를 높입니다. 🔄
- '보수'는 특정 기준값을 만들기 위해 어떤 수에 더해야 하는 값이며, '기수(Radix)'는 진법의 밑을 나타냅니다. 🎯
- 모든 진법에는 'R-1의 보수'와 'R의 보수' 두 가지가 존재하며, R-1의 보수는 각 자리 숫자를 R-1에서 빼서 구하고, R의 보수는 여기에 1을 더하여 얻습니다. 🛠️
- 10진법 및 2진법 고정 소수점 예시를 통해 음수 없이 뺄셈을 덧셈으로 처리하는 과정을 시연했으며, 오버플로우 비트는 버려집니다. 💡
- 2진법 고정 소수점에서는 1의 보수(비트 플립)와 2의 보수(1의 보수 + 1)를 이용해 음수를 표현하고 뺄셈을 수행합니다. 💻
- 부동 소수점 방식은 정규화와 부호 비트만으로 음수 표현이 가능하여 2의 보수를 사용하지 않아도 됩니다. 🚀
- 실수 연산은 이진법 표현의 한계로 인해 필연적으로 오차가 발생하며, 이는 보수 시스템 사용과 무관하게 나타납니다. 📉