F X^Y: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Нет описания правки
Нет описания правки
 
Строка 24: Строка 24:
* В ЭКВМ нет команды извлечения корня произвольной степени.  Вместо неё можно использовать последовательность команд F1/x ↔ Fx<sup>y</sup>.  Например, В↑ 5 F1/x ↔ Fx<sup>y</sup> извлекает корень пятой степени из числа в [[RX|регистре X]].  Это справедливо благодаря формуле:
* В ЭКВМ нет команды извлечения корня произвольной степени.  Вместо неё можно использовать последовательность команд F1/x ↔ Fx<sup>y</sup>.  Например, В↑ 5 F1/x ↔ Fx<sup>y</sup> извлекает корень пятой степени из числа в [[RX|регистре X]].  Это справедливо благодаря формуле:


$\sqrt[n] x = x^{\frac{1}{n}}$
<math>\sqrt[n] x = x^{\frac{1}{n}}</math>


== История ==
== История ==
На советских ПМК команда F x<sup>y</sup> была одной из самых медленных и неточных, поэтому владельцы ПМК старались использовать её лишь в случае крайней необходимости — например, имитируя её с помощью нескольких умножений или последовательностью команд Fln × Fe<sup>x</sup> .  Последнее справедливо благодаря формуле:
На советских ПМК команда F x<sup>y</sup> была одной из самых медленных и неточных, поэтому владельцы ПМК старались использовать её лишь в случае крайней необходимости — например, имитируя её с помощью нескольких умножений или последовательностью команд Fln × Fe<sup>x</sup> .  Последнее справедливо благодаря формуле:


$x^y = e^{y\cdot \ln x}$
<math>x^y = e^{y\cdot \ln x}</math>


В ПМК [[Б3-34]] ранних выпусков команда F x<sup>y</sup> могла выполняться с ошибкой, если ей предшествовала какая-либо двухместная операция (кроме F x<sup>y</sup>), результат которой содержал в восьмом разряде мантиссы цифру 5 или 7. Для предотвращения этой ошибки перед операцией F x<sup>y</sup> можно было дважды выполнить операцию F 1/x.
В ПМК [[Б3-34]] ранних выпусков команда F x<sup>y</sup> могла выполняться с ошибкой, если ей предшествовала какая-либо двухместная операция (кроме F x<sup>y</sup>), результат которой содержал в восьмом разряде мантиссы цифру 5 или 7. Для предотвращения этой ошибки перед операцией F x<sup>y</sup> можно было дважды выполнить операцию F 1/x.

Текущая версия от 22:10, 12 марта 2023

Команда F xy
 F   xy 
Код команды 24
Русская мнемоника F xy
Латинская мнемоника F X^Y
Группа команд алгебраические функции
Число операндов двухместная, но схема перемещения чисел в стеке ближе к одноместной
Нажимаемые клавиши  F    
Число шагов 1
Признак перезаписи сбрасывается
Первое появление Б3-34
Время выполнения ? мкс
(? КНОП)
Скорость выполнения ? команд/с
Перемещение информации в стеке при операции F xy

Команда F xy (лат. F X^Y) «Возведение x в степень y» с кодом 24 вычисляет степенную функцию от содержимого регистра X. Показатель степени берётся из регистра Y. Старое содержимое регистра X помещается в регистр X1.

Если число в регистре X, возводимое в степень, отрицательное, команда Fxy приводит к аварийному останову.

Интересные факты[править]

  • F xy — это единственная двухместная команда, которая не убирает свой аргумент из регистра Y. Её картина перемещения чисел по стеку соответствует одноместной команде. Если после команды Fxy нажать Сx и набрать следующее число, его можно возвести в ту же степень, т.к. показатель степени сохранился в регистре Y.
  • В ЭКВМ нет команды извлечения корня произвольной степени. Вместо неё можно использовать последовательность команд F1/x ↔ Fxy. Например, В↑ 5 F1/x ↔ Fxy извлекает корень пятой степени из числа в регистре X. Это справедливо благодаря формуле:

История[править]

На советских ПМК команда F xy была одной из самых медленных и неточных, поэтому владельцы ПМК старались использовать её лишь в случае крайней необходимости — например, имитируя её с помощью нескольких умножений или последовательностью команд Fln × Fex . Последнее справедливо благодаря формуле:

В ПМК Б3-34 ранних выпусков команда F xy могла выполняться с ошибкой, если ей предшествовала какая-либо двухместная операция (кроме F xy), результат которой содержал в восьмом разряде мантиссы цифру 5 или 7. Для предотвращения этой ошибки перед операцией F xy можно было дважды выполнить операцию F 1/x.

Замеченные недостатки команды Fxy исправлены в ЭКВМ, но странный рисунок перемещения чисел по стеку было решено сохранить для совместимости с программами, написанными для советских ПМК.

Советская реализация[править]

Из книги Я.К. Трохименко «Программируемые микрокалькуляторы. Устройство и пользование.» (стр. 143):

«Степенная функция xy при вводе оператора xy вычисляется по формуле xy = ey ln x в диапазоне аргумента x > 0 и y ln x < 100 ln 10, определяемом допустимым диапазоном изменения аргумента логарифмической функции ex и ln x. В связи с относительно большой программой, реализующей вычисления этой функции, результат содержит не менее 6 верных цифр, тогда как результаты вычисления ex и ln x содержат не менее 7 верных цифр. Время выполнения оператора xy также наибольшее по сравнению с вычислением других элементарных функций.

При вычислении элементарных функций в общем случае используется 10 членов разложения в цепную дробь базовых функций. Однако в зависимости от разрядности операндов при промежуточных вычислениях и значений приведенного аргумента в разложениях в цепную дробь используется от одного до 10 членов разложения в цепные дроби. Число цифр частных, получаемых при вычислении членов (звеньев) цепной дроби, также зависит от значения приведенного аргумента и изменяется от одной до восьми.»

Ссылки[править]