Re[9]: Битовый разворот в x86
От: кт  
Дата: 18.11.19 08:21
Оценка:
Здравствуйте, 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/
Re[10]: Битовый разворот в x86
От: CreatorCray  
Дата: 18.11.19 08:34
Оценка:
Здравствуйте, кт, Вы писали:

кт>Устал объяснять, что если хранить доли копейки, то и точность расчетов будет до этих долей. Для точных расчетов нужна переменная, а не фиксированная длина дробной части, что уже 60 лет назад было понятно и реализовано.


Уже много лет в точных расчётах используют самые что ни на есть обыкновенные дроби.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Re[6]: Битовый разворот в x86
От: Privalov  
Дата: 18.11.19 09:08
Оценка:
Здравствуйте, кт, Вы писали:

кт>IBM со своими компиляторами PL/I смотрит на Вас с недоумением. А в 8080 никаких двоично-десятичных команд (кроме одной, как раз, рудиментарной) не было. Они впервые появились в 8086 и безо всяких ошибок.


В современных реализациях PL/1 до сих пор используется двоично-десятичный упакованный формат? Еще 50 лет назад было известно, что он является основной причиной тормозов при расчетах. Могли бы тип FIXED на целых числах как-нибудь сделать. Примеров реализаций на других языках полный Интернет.
Re[10]: Битовый разворот в x86
От: pagid Россия  
Дата: 18.11.19 11:06
Оценка: +2
Здравствуйте, кт, Вы писали:

кт>Устал объяснять, что если хранить доли копейки, то и точность расчетов будет до этих долей.

Очень хорошо и правильно, финансово-бухгалтерские расчеты как раз и должны быть с точностью до копеек, даже не их долей, а именно копеек.
Там останутся иногда непростые нюансы, если в арифметическом выражении участвуют неденежные величины и нужно использовать деление, но подобные нюансы будут независимо от используемого представления чисел.

кт>Для точных расчетов нужна переменная, а не фиксированная длина дробной части, что уже 60 лет назад было понятно и реализовано.

То есть ты хочешь число с плавающей точкой/запятой? Ради бога, судя по всему нужна "точность" — чтобы особенности разницы представления дробной части в десятичной и двоичной системе не проявлялись, это конечно не имеет никакого отношения к точности, но и для реализации этого BCD-арифметика не нужна, и порядок и мантисса могут храниться в виде двоичных чисел, вот только степень должна быть десятая. Пример — decimal в .Net

кт>Но с тех пор эти знания утратились

С тех пор люди научились использовать особенности машинной арифметики и представления чисел в двоичной системе. Хотя для научных и инженерных расчетов они это умели делать со времен появления первых ЭВМ и не парились ужасающей тебя "неточностью", просто умели её оценивать, это все равно для ученых и инженеров абсолютно необходимый навык, хоть десятичными цифрами на бумажке в столбик считай, хоть на арифмометре, хоть на компе используя любое представление чисел.


кт>IBM VisualAge PL/I for Windows, Refresh V2.1.14

Последней версии скоро 20 лет, существование IBM VisualAge PL/I не упоминается даже в англоязычной статье в вики посвященной IBM VisualAge. Все больше о тоже оставшемся только в памяти Smalltalk, который в VisualAge тем не менее до сих пор поддерживается.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.