Добавлено: 18 мар 2004, 10:59
Вопрос непонятен - причем тут ассемблер? Описать новый тип данных можно средствами C++. И проблема только одна - нужно самому заботиться о выполнении операций с этим новым типом.
Ой, ну я уже смеюсь. С++ очень хорош с точки зрения оптимизации кода. Беседа здесь просто не имеет смысла - потому что причем тут тип данных и ассемблер? И что значит тип данных на ассемблере? Это масло-маслянное. Если что медленно работает надо 10 раз оптимизировать функции и если так надо переписать парочку критических на ассемблере. Если нужен большой размер переменной - так сделайте ее батовым массивом размером в пару килобайт.когда требуется оптимизировать время о С++ даже не соит заводить разговор.
Код: Выделить всё
void add_12(void * p1, void * p2, void * pResult);
Речь идет только о точности, а не о скорости. Т.е. человеку нужен тип данных бОльшего размера (большей точности). Причем тут ассемблер? НЕ понимаю. Типов данных в ассемблере (читай в процессоре) еще меньше, чем в С++. Приведу ПОЛНУЮ таблицу типов данных с которыми работает FPU. Извиняйте за форматирование, но html отключен, поэтому таблица будет своеобразная...Можно ли с помощью ассемблерных вставок в C++Builder написать новый тип данных (например, тройной точности). Стандартные типы double, long double не подходят ввиду необходимости в "великой" точности.
Код: Выделить всё
Тип Бит Значащих цифр
Целое слово 16 4
Короткое слово 32 9
Длинное слово 64 18
Упакованное десятичное 80 18
Короткое вещественное 32 7
Длинное вещественное 64 15-16
Расширенное вещественное 80 19