본문 바로가기

게임수학

[게임수학_01] 부동소수점 컴퓨터에서 실수를 표현하는 방법은 정수의 경우보다 더 많은 과정을 거쳐야한다. 실제로 데이터 오류를 줄이기 위해 분기나 조건을 걸 경우 정수를 쓰는 것을 지난 포스트에서 추천했다. 실수를 2진수로 표현하기 위해 이런저런 방법들이 연구되었으며 이번 포스트에서 중점적으로 다룰 부동소수점도 그 중 하나이다. 우선 고정 소수점에 대해서 알아보자면 아래와 같다. 고정 소수점 방식은 비교적 간단한 방법으로 소수부의 자릿수를 미리 정하여 고정된 자릿수의 소수를 표현하는 것이다. 하지만 이 방식은 정수부와 소수부의 자릿수가 작아 표현할 수 있는 범위도 적다. 그렇다면 부동소수점은 어떨까. 부동소수점 대체적으로 "부"라는 글자가 가지는 선입견 때문인지 不動 으로 알고 있는 사람이 있는데 부유와 같은 자를 써 浮動 이다... 더보기
[게임수학_00] 프롤로그 프로그래밍을 하며 수학을 익히는 것이 중요한 지는 스스로 느끼지 못할 수도 있지만 다들 알고 있을 것이다. 가끔가다 변수의 값을 비교할 때나 그러한 함수를 활용할 때 알 수 없는 문제가 발생했다고 생각할 때가 있다. 정말 별 것 아닌 계산 착오로 설계를 잘 못해 일어나는 그런 것들 말이다. 예를 들어 무심코 조건문을 사용할 때 if(a == 1.7) 와 같이-어떤 언어를 쓰던간에-사용하며 오류가 난 적이 있을 것이다. 내 눈에는 문제가 없어보이는데 왜 문제가 날까 하며 변수의 자료형을 바꿔도보고 이런저런 연산을 더하고 빼보고 했을 것이다. 부동소수점에 대해 알더라도 평소 코드를 작성하며 생각해보지 않았다면 언젠가 실수할 수 있다고 생각한다. 그런 의미에서 내가 공부했던 수학들을 게임과 관련되어 하나씩 써.. 더보기