Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Object Pascal: кроссплатформенные технологии > Sqr() от большого числа


Автор: bus 7.6.2006, 16:30
Пишу следующие строки: WriteLn(Sqr(456));

При запуске выводится результат: 11328.

Но это очевидно неверно. Как быть? 

Автор: skyboy 7.6.2006, 16:42
результат 207936 у тебя приводился  к типу Word(максимум - 65536). Либо напиши свою функцию, либо попробуй вместо "sqr(456)" использовать "456*456" - во втором случае, как мне кажется, будет приведение к longint - а этой уже гораздо больше 65536 

Автор: volvo877 7.6.2006, 17:24
bus, очень распространенная ошибка - надо УКАЗАТЬ компилятору, чтобы он делал приведение к LongInt:
Код
WriteLn(Sqr(LongInt(456)));

 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)