Здравствуйте, pagid, Вы писали:
PP>Они не менее и не более точные, чем банальные int32 или int64 с учетом масштабирования (единица — копейка или доля копейки, чьей душе это угодно), но при этом на порядки более медленные. И как только приходится применять операцию деления в том и другом случае эта "точность" мгновенно испаряется.
Устал объяснять, что если хранить доли копейки, то и точность расчетов будет до этих долей. Для точных расчетов нужна переменная, а не фиксированная длина дробной части, что уже 60 лет назад было понятно и реализовано. Но с тех пор эти знания утратились
P>Реализация PL/I на 86 это дело энтузиастов и любителей,
Вполне себе профессионалов:
IBM VisualAge PL/I for Windows, Refresh V2.1.14
https://cloud.mail.ru/public/J1xJ/Z8xaarFqD
собственно,
FTP-сервер IBM.
ftp://ftp.software.ibm.com/ps/products/pli/
Здравствуйте, кт, Вы писали:
кт>Устал объяснять, что если хранить доли копейки, то и точность расчетов будет до этих долей. Для точных расчетов нужна переменная, а не фиксированная длина дробной части, что уже 60 лет назад было понятно и реализовано.
Уже много лет в точных расчётах используют самые что ни на есть обыкновенные дроби.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Здравствуйте, кт, Вы писали:
кт>Устал объяснять, что если хранить доли копейки, то и точность расчетов будет до этих долей.
Очень хорошо и правильно, финансово-бухгалтерские расчеты как раз и должны быть с точностью до копеек, даже не их долей, а именно копеек.
Там останутся иногда непростые нюансы, если в арифметическом выражении участвуют неденежные величины и нужно использовать деление, но подобные нюансы будут независимо от используемого представления чисел.
кт>Для точных расчетов нужна переменная, а не фиксированная длина дробной части, что уже 60 лет назад было понятно и реализовано.
То есть ты хочешь число с плавающей точкой/запятой? Ради бога, судя по всему нужна "точность" — чтобы особенности разницы представления дробной части в десятичной и двоичной системе не проявлялись, это конечно не имеет никакого отношения к точности, но и для реализации этого BCD-арифметика не нужна, и порядок и мантисса могут храниться в виде двоичных чисел, вот только степень должна быть десятая. Пример — decimal в .Net
кт>Но с тех пор эти знания утратились
С тех пор люди научились использовать особенности машинной арифметики и представления чисел в двоичной системе. Хотя для научных и инженерных расчетов они это умели делать со времен появления первых ЭВМ и не парились ужасающей тебя "неточностью", просто умели её оценивать, это все равно для ученых и инженеров абсолютно необходимый навык, хоть десятичными цифрами на бумажке в столбик считай, хоть на арифмометре, хоть на компе используя любое представление чисел.
кт>IBM VisualAge PL/I for Windows, Refresh V2.1.14
Последней версии скоро 20 лет, существование IBM VisualAge PL/I не упоминается даже в англоязычной статье в вики посвященной IBM VisualAge. Все больше о тоже оставшемся только в памяти Smalltalk, который в VisualAge тем не менее до сих пор поддерживается.