Связь с администрацией сайта:       

demo

Среди толпы я одинок

2. Числа и арифметика Z-машины

Оглавление

В Z-машине, номера обычно хранится в 2 байтах (в виде наиболее значащего байта, а затем младшего по статусу) и удерживать любое значение в диапазоне от $0000 до $FFFF ( от 0 до 65535 в десятичных числах).
Эти значения иногда рассматривают как знаковыми, в диапазоне от -32768 до 32767. Эффективно -n хранить в виде 65536 -n и поэтому верхний бит является знаковым битом.
2.2.1
Операции численного сравнения, умножение, сложение, вычитание, деление, остаток после разделения и печати чисел. Побитовые операции без знаков. (В частности, так как сравнение подписано, это небезопасно для сравнения двух адресов с использованием JL и JG)
 
Арифметические ошибки:
2.3.1
Нельзя делить на 0 (или попросить остаток после деления на 0) и интерпретатор должен остановить работу программы сообщением об ошибке, если это произойдет.
2.3.2
Формально это никогда не было указано, что должно быть результатом расчета вне диапазона. Автор(программист) предполагает, что результат должен быть уменьшен по модулю $10000 .
Z-машине требуется генератор случайных чисел, который в любой момент времени имеет одно из двух состояний, "случайных" и "предсказуемых". Когда игра начинается или перезапускается, состояние становится "случайным". В идеале генератор не должен производить идентичные последовательности после каждой перезагрузки.
2.4.1
Когда выпало "случайное", z-machine должна быть способна генерировать равномерно случайное целое число в диапазоне 1 <= х <= n, при любом значении 1 <= n <= 32767. Любой метод может быть использован для этого (например, использовать время на часах компьютера в миллисекундах). Равномерность случайности должны быть оптимизированы для малых значений n (скажем, до 100 или около того), и это особенно важно, чтобы избежать регулярные погрешности, которые появляются в остатках после деления (грубо говоря, будут попеременно четные и нечетные).
2.4.2
Генератор включается в режим «предсказуемого» состояния с начальным значением. В любых двух случаях, когда же «семя посеяно»(начальное значение), идентичные последовательности значений должны приводить (на неопределенный срок), пока генератор не переключается обратно в режим "случайного". Генератор должен хорошо справляться с очень низкими значениями семян, таких как 10, и не должна зависеть от семени, содержащего множество не нулевых битов.
2.4.3
Интерпретатор разрешается переключать между этими состояниями по желанию игрока. (Это полезно для целей тестирования.)
 

Пред. След. »

Rate this item
(0 votes)
Login to post comments