|
int i1,i2 가 아니라
double나 float아닌가여?
저두 간단하게 나마 테스트를 해봤는데, 결과가 49,와 48이나오더군요
하지만 정석은 소수는 double나 float 이니깐...
ps. C++Builder의 버그라고도 할수있겠네요 터보C에선 48,48로 나오는데...
48이나49나 같은 숫자가 나와야할터인데...
하대인 님이 쓰신 글 :
: 궁금한게 있어서요...
: ------- source program ---------------
:
: double func1()
: {
: return 0.49;
: }
:
: void my_test()
: {
: int i1, i2;
:
: i1 = 0.49 * 100.0;
:
: i2 = func1() * 100.0;
: }
: --------------------------------------------------
: 위의 my_test() 프로그램을 실행해보면 i1과 i2의 값이 다름니다. (i1 = 49, i2 = 48)
: 우째 이런일이 가능한지 설명해 주시면 감사하겠습니다. 빌더의 자체버그인지?
: 비쥬얼 C++에서는 i1, i2둘다 49가 나옵니다.
: 제가 별로 중요하지 않은 걸로 머릴 싸매고 있는건지 고수님의 한 수 부탁합니다. -꾸벅-
: 즐거운 하루되세요....
:
:
:
|