простейший вопрос по turbo C++
а что выводит? - вроде, %d и надо...
А не 16-ли битный там int ?
попробуй %ld

а что с %d выводится?
-31072
тады тебе long int нужно юзать, если он 32-битный и выводить его с %ld

Понял, спасибо.

А как выводить очень большие числа? Скажем, факториал 13 уже неправильно выводит.
либо в тип с плавающей точкой записывать, тогда скорей всего пойдет потеря точности, либо если нету целых типов, куда число поместится, писать свой тип и свою функцию вывода
long int fctrl(int n)
{
return n==1 ? 1 : fctrl(n-1)*n;
}
Да блин, тут не зависит от компилятора, в любом случае у встроенного типа есть пердел и если хочется этот пердел преодолеть, то нужно писать свой тип целых чисел. Ты нигде со стандартным int-ом и даже long int-ом не посчитаешь такой функцией, например, факториал 100.
Понятно. А можно простейший пример того, как написать "свой тип"? Скажем, для вычисления того же факториала?
в google их валом
Да, на самом деле тебе нужна всего лишь либа для работы с очень-очень длинными числами, которая посимвольно работает. Такие есть.
скорее всего, ему этого не нужно (хотя если нужно - то твой совет безусловно верен). Я имею в виду, что есть лишь очень узкий специфический класс задач, где требуется знать число с абсолютной точностью. Ни для каких инженерных (физических, химических, лингвистических, биологических, технических и т.п.) приложений это никогда и в принципе не нужно.
да ты задолбал, аффтар. Юзай нормальный компилятор.
www.openwatcom.org - в первую очередь.
Нахрена использовать говно 20-летней давности, когда есть нормальные _современные_ компиляторы?Ностальгия.

Я вот тоже все по диплому писал исключительно на Borland Pascal (ну, правда, тогда я больше ни на чем писать не мог, да и не на чем было...

щас поди эксепшены кидаешь вовсю при проверке правил бизнес-логики. %)

Оставить комментарий
dimon72
Как вывести большое число с помощью функции printf?Какие только буквы не ставил после % - ничего не помогает.
Например: