Редактирование:
Eˣ
(раздел)
Перейти к навигации
Перейти к поиску
Внимание:
Вы не вошли в систему. Ваш IP-адрес будет общедоступен, если вы запишете какие-либо изменения. Если вы
войдёте
или
создадите учётную запись
, её имя будет использоваться вместо IP-адреса, наряду с другими преимуществами.
Анти-спам проверка.
Не
заполняйте это!
== Реализация == Слово является «обёрткой» вокруг команды ЭКВМ [[F EXP|F e<sup>x</sup>]], которая вызывает переполнение при аргументе 230,2585093 и больше. Обработка этой ошибки производится [[Встроенная программа|встроенной программой]]. Например, последовательность слов {{Текст на индикаторе|231 eˣ}} вызывает [[аварийный останов]] [[Каллисто]] с сообщением «Переполнение» в [[Строка комментариев|строке комментариев]]. Можно ввести с клавиатуры произвольное число в качестве значения «e<sup>231</sup>» и вернуться в [[Каллисто]], нажав [[Клавиша С/П|{{Чёрная клавиша|С/П}}]]. Подробнее см. статью [[Авост Каллисто]]. В случае [[Авост Каллисто|аварийного останова]] рекомендуется произвести [[COLD|«холодную перезагрузку»]] [[Каллисто]] с удалением всех введённых слов, нажав последовательно клавиши [[Клавиша В/О|{{Чёрная клавиша|В/О}}]] [[Клавиша С/П|{{Чёрная клавиша|С/П}}]]. <pre> 1572 ;#FEXP 1573 ; Eˣ ( x −− p ) Экспонента. p := eˣ 1574 LEXPE: .DB 2 1575 .TEXT "E" ; ( x −− e^x ) 1576 .DB 190 ; E^X 1577 .DW LEXP10 1578 EXPE: .DW JEXPE 1579 JEXPE: PKRM03 FEXP PKM03 KGOTO9 ; Обёртка вокруг FEXP. </pre> Реализация из SP-Forth 4.20: <pre> \ e^(x) = 2^(x * LOG{2}e) CODE FEXP FLDL2E \ normalize FMULP ST(1), ST(0) LEA EBP, -4 [EBP] \ set rounding mode to truncate MOV [EBP], EAX FSTCW DWORD -4 [EBP] MOV EAX, -4 [EBP] AND AH, # 0F3 OR AH, # 0C MOV -8 [EBP], EAX FLDCW DWORD -8 [EBP] FLD ST(0) \ get integer and fractional parts FRNDINT FXCH ST(1) FSUB ST(0), ST(1) F2XM1 \ exponentiate fraction FLD1 FADDP ST(1), ST(0) FSCALE \ scale in integral part FXCH ST(1) \ clean up FCOMP ST(1) FLDCW DWORD -4 [EBP] MOV EAX, [EBP] LEA EBP, 4 [EBP] RET END-CODE </pre>
Описание изменений:
Пожалуйста, учтите, что любой ваш вклад в проект «ПМК вики» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см.
Pmkwiki:Авторские права
).
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!
В целях защиты вики от автоматического спама в правках просим вас решить следующую каптчу:
Отменить
Справка по редактированию
(в новом окне)
Навигация
Персональные инструменты
Вы не представились системе
Обсуждение
Вклад
Создать учётную запись
Войти
Пространства имён
Статья
Обсуждение
русский
Просмотры
Читать
Править
История
Ещё
Поиск
Навигация
Заглавная страница
Свежие правки
Случайная страница
Справка по MediaWiki
Инструменты
Ссылки сюда
Связанные правки
Служебные страницы
Сведения о странице