|
안녕하십니까.
정성훈.해미입니다.
일반적인 Floating Point Error는 계산할 때, 변환할 때가 주를 이룹니다.
1) 계산의 경우
- 원인: '0'으로 나눌 때 발생.
- 조치: 계산전에 조건을 추가하여 '0'으로 나누지 않게 하면 됩니다.
- 사용 예:
float a, b, c;
(중략)
c = b!=0? a/b : a; //b가 '0'일 경우 a값을 그대로 c에 넣고 b가 '0'이 아닐 경우 c = a/b
2) 변환의 경우
- 원인: 문자를 실수로 변환 할 때 발생.
- 조치: 변환 불가 할 때 지정한 기본값으로 변환하게하는 함수를 사용하면됩니다.
예) StrToFloatDef() 함수.
- 사용 예:
AnsiString s;
float c;
(중략)
c = s.ToFloatDef(0);
//----------------------------------------
// ┏┓
// ┣┻┓┏ ┃┃ 작은 생각이 세상을 바꾼다
// ┃♡┃┣ ┣┫┏┓
// ┗━┛┗ ┃┃┣┫┏┓┏┓ - 정성훈.해미
// ━━━━━━━━━┣┛┣┛┗┫━━━━━━
//----------------------------------------
나도초짜 님이 쓰신 글 :
: 안녕하세요..
:
: 프로그램 규모가 좀 크다보니까 버그가를 다 잡지 못하여
: 가끔씩 Floating Point Error 가 발생하는데 도데체 어디서
: 어떻게 발생을 하는지 알수가 없네요..
: 이걸 찾을수 있는 방법이나 방지할수 있는 방법이 없을까요?
:
: 도움부탁드립니다.
|