|
Вопрос вроде простой есть:
int A=500 ;
int B=5000 ;
int C=800 ;
long D=1000000 ;
int Resalt ;
вычислить
Resalt=A*B*C/(D-C) ;
Если вычислять "в лоб" то A*B дает результат INT а не LONG и получается ерунда
Сделал
Resalt=(int)((Long)A*(Long)B*(Long)C)/(D-Long(C)) ;
Работает но некрасивая запись. Да еще если результат A*B*C выходит за 80000000h то результат естественно получается оторицательный (ну это ладно пришлось преобразовывать (unsugned long)A...)
Компилятор Microchip C18.
Как писать ГРАМОТНО?
E-mail: info@telesys.ru