PDA

Просмотр полной версии : 64-битная арифметика



Yegor
04.01.2012, 17:32
Ищу готовый ФБ или просто кусок кода для сложения и умножения 64-разрядных беззнаковых целых чисел. Не спрашивайте зачем, пожалуйста. Спасибо.

Gans
05.01.2012, 11:14
Здравствуйте Yegor.
Сложение для "беззнаковых целых чисел" это просто функция "OR" (см. вложение "or.jpg"), а умножение/перемножение "AND" (Хотя тут мне кажется, что Вы имели ввиду что-то другое.)

capzap
05.01.2012, 14:54
В руководстве по КДС описаны типы данных с которыми эта система работает, 64 бита имеет только LREAL и это точно не целочисленное, а с каким типом Вы хотите работать?

Yegor
05.01.2012, 18:45
Сложение для "беззнаковых целых чисел" это просто функция "OR" (см. вложение "or.jpg"), а умножение/перемножение "AND"Не соглашусь. Наверное, вы упускаете из виду перенос.
64 бита имеет только LREAL и это точно не целочисленноеОно к тому же не поддерживается кодесисом, как и LINT.

Вообще есть два DWORD'а, образующих 64-битное число (старшая и младшая части). Вот два таких числа требуется перемножить/сложить. Если готового решения никому не встречалось, то так и быть — пойду перепишу с других языков где-нибудь.

capzap
05.01.2012, 19:11
4.2 Опции проекта
Генератор кода (Build)

Treat LREAL as REAL: заставляет компилятор использовать тип REAL для LREAL объявлений. Наличие опции зависит от целевой системы, по умолчанию опция выключена. Опция может быть полезна при создании аппаратно независимых проектов
http://www.owen.ru/forum/showthread.php?t=10285&page=5

Yegor
05.01.2012, 19:20
Спасибо, но написать REAL вместо LREAL я и сам могу :) Это задачу не решает.

capzap
05.01.2012, 19:44
http://tpxexe.narod.ru/122.html тогда наверное сюда :)

Yegor
06.01.2012, 00:23
Спасибо, попробую.