달력

22021  이전 다음

  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  •  
  •  
  •  
  •  
  •  
  •  

-1.@IND00

C++ 2010. 12. 14. 00:22

NaN, NAN, nan은 "not a number"라는 뜻으로 숫자가 아닌것을 의미합니다.
가끔 연산을 하였을 때 이러한 값이 나오는 경우가 있곤 하는데,
이 이유에 대해서 설명 하자면

1) 0.0000000000000000000000001과 같은 0으로 처리해 버리는 수로 나누거나 실수 연산에서 0.0으로 나누는 상황에 발생합니다.
해결방법은 저런 값으로 나누지 않으면 됩니다. 값을 수정해야 한다는 말이죠.
0.0으로 처리될 수 있는 상황에 대하여 적당한 값을 주고 오류만 없애 주고 연산된 값이 꼭 필요하지 않는 이상 버리면 됩니다.

2) NULL을 반환해도 0.0으로 표시되거나 에러를 표시할 수 없는경우에도 발생하며 sqrt(-1.0)을 연산하면 -1.#IND00이라는 값을 반환합니다.
float.h의 _isnan()을 이용하면 NaN이 반환되는것을 체크할수 있고, 정상적인 숫자라면 0을 아니라면 NaN을 반환하니 적당히 사용하면 될것입니다.



Posted by sukay

댓글을 달아 주세요

CFile Class - Write, Read

C++ 2010. 12. 11. 00:01


MFC에서 CFile Class로 읽고 쓰기 예제
FILE* 만 사용하다가 CFile 클래스를 처음 사용해 보았다.
'\n'이 안들어가서 찾아보니
'\r\n' 으로 사용하라는 말이 있어 사용해 보니 적용이 되었다.
이유는 아직 잘 모르지만 이번 과제 끝나면 CFile과 직렬화에 대해서 공부 좀하고 정리해 야겠다.
MFC를 배웠다면 당연하다는 자연스러운게 이럴때면 배우지 않은게  아쉽긴하다..

Posted by sukay
TAG CFile

댓글을 달아 주세요


프로그램을 구현하다 보면 데이터를 저장하기 위한 디렉토리 및 파일을 생성하는 경우가 많이 발생합니다.
파일을 다루는 경우 주로 FILE , CFile을 이용하여 파일을 다루곤 하는데
간혹 파일 및 디렉토리 생성과 삭제만 다룰 경우가 발생하고
따로 파일 포인터를 사용하지 않고 파일과 디렉토리 생성 및 삭제에 간편하게 사용되는 함수를 사용하곤 합니다.

헤더 파일 : #include <direct.h>
함수 명 :
mkdir(DirName)  -  디렉토리 생성 
rmdir(DirName)  -  디렉토리 제거
unlink(FileName)  -  파일 삭제

Posted by sukay

댓글을 달아 주세요