K INT: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
(шаблон-врезка для команд)
Нет описания правки
(не показаны 2 промежуточные версии этого же участника)
Строка 14: Строка 14:
| скорость            = ?
| скорость            = ?
}}
}}
Одноместная команда $K [x]$ (лат. '''K INT''') «Выделение целой части» с кодом 34 выделяет целую часть числа, содержащегося в [[RX|регистре X]]. Такая математическая операция называется усечением («округлением к нулю») и производится отбрасыванием значащих цифр, стоящих после десятичной запятой. Знак числа не изменяется. Результат помещается в [[RX|регистр X]].
Одноместная команда K [x] (лат. '''K INT''') «Выделение целой части» с кодом 34 выделяет целую часть числа, содержащегося в [[RX|регистре X]]. Такая математическая операция называется усечением («округлением к нулю») и производится отбрасыванием значащих цифр, стоящих после десятичной запятой. Знак числа не изменяется. Результат помещается в [[RX|регистр X]]. Старое содержимое [[RX|регистра X]] помещается в [[X1|регистр X1]].


Действие команды K INT не эквивалентно математической операции вычисления целой части для отрицательных чисел.
Действие команды K INT не эквивалентно математической операции вычисления целой части для отрицательных чисел.


== Это интересно ==
== Это интересно ==
* $[x]=0$, если $0 \le x < 1$. Для остальных чисел знак $[x]$ всегда совпадает со знаком x.
* \([x]=0\), если \(0 \le x < 1\). Для остальных чисел знак [x] всегда совпадает со знаком x.
* На ЭКВМ всегда верно, что: $x = [x] + \{x\}$
* На ЭКВМ всегда верно, что: \(x = [x] + \{x\}\)


== История ==
== История ==
Строка 28: Строка 28:


При использовании функций с отрицательными значениями аргумента результат не соответствует определению целой и дробной части числа, принятой в математике. Например, целая часть числа минус 3,14 равна минус 4, а дробная 0,86. Это, согласно определению, ближайшее целое, не превышающее исходного числа и их разность. Но при использовании функций в ЭКВМ и советских ПМК получаем минус 3 и минус 0,14. Эта особенность команд советских ПМК сохранена в ЭКВМ для совместимости.
При использовании функций с отрицательными значениями аргумента результат не соответствует определению целой и дробной части числа, принятой в математике. Например, целая часть числа минус 3,14 равна минус 4, а дробная 0,86. Это, согласно определению, ближайшее целое, не превышающее исходного числа и их разность. Но при использовании функций в ЭКВМ и советских ПМК получаем минус 3 и минус 0,14. Эта особенность команд советских ПМК сохранена в ЭКВМ для совместимости.
== Советская реализация ==
Из книги Я.К. Трохименко [[Программируемые микрокалькуляторы. Устройство и пользование. (книга)|«Программируемые микрокалькуляторы. Устройство и пользование.»]] (стр. 138):
«Выполнение оператора выделения К[х] целой INT (x) или К{х} дробной FRC (х) части содержимого регистра Х сводится к присвоению нулевого значения дробной или целой части числа X, представленного в естественной форме INT (x) := 0 с последующим приведением к показательной форме.»


== Ссылки ==
== Ссылки ==

Версия от 04:50, 24 августа 2021

Команда К [x]
 К   [x] 
Код команды 34
Русская мнемоника К [x]
Латинская мнемоника K INT
Группа команд алгебраические операции
Число операндов одноместная
Нажимаемые клавиши  К   7 
Число шагов 1
Признак перезаписи сбрасывается
Первое появление МК-61
Время выполнения ?
Скорость выполнения ? команд/с

Одноместная команда K [x] (лат. K INT) «Выделение целой части» с кодом 34 выделяет целую часть числа, содержащегося в регистре X. Такая математическая операция называется усечением («округлением к нулю») и производится отбрасыванием значащих цифр, стоящих после десятичной запятой. Знак числа не изменяется. Результат помещается в регистр X. Старое содержимое регистра X помещается в регистр X1.

Действие команды K INT не эквивалентно математической операции вычисления целой части для отрицательных чисел.

Это интересно

  • \([x]=0\), если \(0 \le x < 1\). Для остальных чисел знак [x] всегда совпадает со знаком x.
  • На ЭКВМ всегда верно, что: \(x = [x] + \{x\}\)

История

Поскольку при косвенном обращении происходило отсечение дробной части, для нахождения целой части числа в калькуляторах Б3-34 и аналогичных использовалась последовательность ПR, КИПR, ИПR, где R - немодифицируемый регистр памяти от 7 до D (регистра E в Б3-34 не было).

В ЭКВМ, как и в калькуляторах МК-52, МК-61 для нахождения целой части есть специальная команда выделения целой части К[x]. Эта команда в ЭКВМ реализована так же, как и в советских ПМК. Фактически она выполняет отсечение дробной части. Соответственно, команда выделения дробной части K {x} в ЭКВМ и советских ПМК выполняет отсечение целой части числа.

При использовании функций с отрицательными значениями аргумента результат не соответствует определению целой и дробной части числа, принятой в математике. Например, целая часть числа минус 3,14 равна минус 4, а дробная 0,86. Это, согласно определению, ближайшее целое, не превышающее исходного числа и их разность. Но при использовании функций в ЭКВМ и советских ПМК получаем минус 3 и минус 0,14. Эта особенность команд советских ПМК сохранена в ЭКВМ для совместимости.

Советская реализация

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

«Выполнение оператора выделения К[х] целой INT (x) или К{х} дробной FRC (х) части содержимого регистра Х сводится к присвоению нулевого значения дробной или целой части числа X, представленного в естественной форме INT (x) := 0 с последующим приведением к показательной форме.»

Ссылки