-
소수점을 정수로 캐스팅 할때쥬신게임아카데미/궁금했던것 2015. 11. 26. 18:09
만약에 0.99를 정수로 캐스팅한다면
0이 되버린다. .99를 버리게 된다.
거의 1에 근접하니까..신경이 쓰인다
그래서 반올림을 하는데..0.6중 .6이 사라지는것보단 1이 되서 0.4를 더 얻는게 정확도면에선 더 낫지 않나..
int Round(double _a) { //양수라면 0.5를 더하고나서 int로 캐스팅하고 소수점 아래는 버린다.. //음수라면 0.5을 빼야만한다. 그 이유는 int로 하는 캐스트는 0에 근접하는 방향으로 자르므로 //-4.4는 -5가 아니라 -4가 된다. -0.6은 0.5를 빼서 -1.1로 만들고 나서 잘라내면 된다. _a+=(_a > 0) ? 0.5 :-0.5; return static_cast
(a); } '쥬신게임아카데미 > 궁금했던것' 카테고리의 다른 글
정리 (0) 2016.01.16 싱글싱글턴 (0) 2016.01.06 메모리값 관련.의미.. (0) 2015.12.29 메모리 구조관련(미해결..) (0) 2015.12.29 전방선언과 헤더파일 포함할때.. (1) 2015.11.24