Показать сообщение отдельно
Старый 13.05.2013, 08:29   #29
tvf
Senior Member
 
Регистрация: Dec 2011
Сообщения: 752
Благодарил(а): 1 раз(а)
Поблагодарили: 10 раз(а) в 10 сообщениях
По умолчанию Ответ: Распределение памяти в контроллере

Цитата:
Чесное слово, лично я не вижу способа ошибиться в операции умножения на '-1'
Не передергивайте. Речь шла не об ошибке при умножении на "-1", а об ошибке при реализации алгоритма реализующего эту функцию без использования собственно операции умножения.
Цитата:
Думаю, это наверняка описано в стандарте на этот тип данных
В стандарте данных для типа real прямо написано, что знак числа определяется старшим битом. Сделайте возможность инвертировать этот бит без операции умножения.
Цитата:
Вы сказали мне, что знак изменяется инверсией бита. Я вам доверился как специалисту.
Ну тогда и я доверился вам как специалисту, да еще с большим опытом и т.д. и т.п. и начал модифицировать ваш макрос в полной уверенности в его работоспособности. Да еще закрыли макрос для пущей важности. Во вложении 2 варианта решения задачи. На этот раз рабочие. Для переменных типа int. Для long аналогично. Теперь за вами вариант для real.

В любом случае максимальный эфект будет только при реализации функции смены знака через ядро.
Вложения
Тип файла: msl out n=-in.msl (4.4 Кбайт, 44 просмотров)
tvf вне форума   Ответить с цитированием