|
780*((893-19)/1078);에서
가장 먼저하는것은 당연히 빼기고 그다음이 나누기죠..
근데 여기서 정수형의 나누기므로 0.XX 이딴값은 없죠..
1보다 작으면 무조건 0이 되죠. 그다음에는 곱하나 마나 무조건 0 이겠죠?
결과가 제대로 나오게 하려면
780*((893-19)/1078.0); 이렇게 하시면 실수형 나누기가 되므로 제대로된 값이 나오겠죠?
^^
김경식 님이 쓰신 글 :
: 괄호가 함부로 들어가면 안 되는군요... 것도 모르고...
:
: Temp = 780*((839-19)/1078);
: Temp = 780*(839-19)/1078; 로 바꾸니까 같은 값이 나오는군요.. 역시 초보는 힘들어...
:
: 근데, 똑 같은 말인것 같은데 왜 다르죠? 이해가 잘 안되네요..
:
: 김경식 님이 쓰신 글 :
: : 델파이를 빌더로 공부할겸 해서 포팅 중인데요...
: :
: : var
: : Temp: integer;
: : begin
: : Temp := Round(780*((839-19)/1078));
: : end;
: :
: : 이렇게 되어 있는 델파이 코드에서 Temp 의 값은 593입니다.
: :
: : 이걸 빌더로 바꾸면..
: :
: : {
: : int Temp;
: : Temp = 780*((839-19)/1078);
: : // Temp = ceil(780*((839-19)/1078));
: : // Temp = floor(780*((839-19)/1078));
: : }
: :
: : 아무리 해도 Temp는 0입니다. 검색 해 보니 반올림 함수는 없어서 ceil, floor를 쓰라고 되어 있는것 같은데... 도저히 안 되네요.. 같은 값이 나오도록 할 수 없을까요?
: :
: : 델파이를 하다가 빌더에 막 입문하는 과정이라 모르는게 넘 많군요.. 도움을 주십시오.
|