10진수를 N진수로 바꾸는 방법

10진수는 10의 거듭 제곱의 합으로 이루어져있다. 예를 들어 123.4는 "10^2 * 1 + 10^1 * 2 + 10^0 * 3 + 10^-1 * 4" 이다. 같은 원리로 101.01은 "2^2 * 1 + 2^1 * 0 + 2^0 * 1 + 2^-1 * 0 + 2^-2 * 1" 이다.

*주의할 점

0.3을 2진수로 바꿔보자. 그러면 0.0100110011… 의 순환소수를 얻을 수 있다. 이 때 이 이진수를 정확하게 컴퓨터가 저장하려면 정말 무한한 양의 메모리가 필요하다. (이는 물리적으로 불가능하며 그렇게 할 필요도 없다.)

고정 소수점

Untitled

고정 소수점은 정수를 표현할 비트 수와 소수를 표현할 비트 수를 미리 정해줍니다. 32비트로 소수를 표현한다고 가정합시다.

예를 들어, 10진수 7.625를 32비트 고정 소수점으로 표현해보겠습니다. 먼저 10진수 7.625를 2진수로 표현하면 다음과 같습니다.

스크린샷 2023-10-25 오후 3.59.17.png

이를 비트 고정 소수점 방식으로 표현하면 다음과 같습니다.