[CS50] 하드웨어의 한계와 오버플로우
TIL
메모리의 한계컴퓨터는 RAM(Random Access Memory)이라는 물리적 저장장치에 프로그램을 저장한다.RAM은 유한한 크기의 비트만 저장할 수 있기 때문에 때때로 부정확한 결과를 낸다. 부동소수점의 부정확성실수 x를 y로 나누는 프로그램을 작성해보자.#include #include int main(void){ float x = get_float("x: "); float y = get_float("y: "); printf("x / y = %.50f\n", x / y);}소수점 50자리까지 출력하도록 하고, x에 1, y에 10을 입력하면 다음과 같은 결과가 나온다.정확한 결과는 0.1이어야 하지만, float에서 저장 가능한 비트 수가 유한하기 때문에 부정확한 결과가 나온다. 정수..