Грамматика ложбана/18.14

From Lojban
Jump to navigation Jump to search

Оглавление

Пересмотр инфиксных операторов

В этом разделе обсуждаются следующие cmavo:
cmavo selma'o значение
tu'o PA нулевой операнд
ge'a VUhU нулевой оператор
gei VUhU экспоненциальная запись

Представленные до сих пор инфиксные операторы всегда имели ровно два операнда, а для большего или меньшего количества операндов требовалась префиксная запись. Однако можно использовать оператор в инфиксном стиле, даже если у него больше или меньше двух операндов, с помощью пары трюков: нулевого операнда tu'o и нулевого оператора ge'a. Первый подходит, когда операндов слишком мало, второй – когда их слишком много. Например, предположим, что мы хотим выразить числовой оператор отрицания va'a в инфиксной форме. Мы бы использовали:

18.103) li tu'o va'a ny. du li no vu'u ny.
        Число (нуль) инверсия-знака n равно числу ноль минус n
        -n = 0 - n

tu'o выполняет грамматическое требование о наличии левого операнда для использования va'a в инфиксной форме, хотя семантически он не нужен или нежелателен.

Для того чтобы найти подходящий пример ge'a, необходимо показать тернарный оператор, а тернарные операторы встречаются нечасто. Оператор gei, однако, имеет как двухместное, так и трёхместное применение. Как двухместный оператор, он обеспечивает краткое представление научной (также называемой «экспоненциальной») записи. Первым операндом gei является экспонента, а вторым – мантисса или дробь:

18.104) li cinonoki'oki'o du li bi gei ci
        Число три-ноль-ноль-разделитель-разделитель равно числу восемь научная-запись три
        300 000 000 = 3 × 108

Почему аргументы gei расположены в обратном порядке по сравнению с обычной символьной нотацией? Чтобы можно было заранее использовать gei для простого задания большого (или малого) неточного числа:

18.105) gei reno
        (научная-нотация) два-ноль
        1020

Заметим, однако, что, хотя 10 – самое распространенное основание экспоненты, оно не является единственно возможным. Поэтому третьим операндом gei является основание, причем по умолчанию используется значение 10. Большинство компьютеров хранят так называемые числа с плавающей точкой, используя 2 в качестве основания экспоненты. (Это не связано с тем, что компьютеры также представляют все целые числа по основанию 2; в компьютерах серии IBM 360 для плавающей точки использовалось основание экспоненты 16, хотя каждая компонента числа выражалась по основанию 2). Вот компьютерное число с плавающей точкой со значением 40:

18.106) papano bi'eju'u re gei pipanopano bi'eju'u re ge'a re
        (один-один-ноль основание два) научная-запись (запятая-один-ноль-один-ноль основание два) с-основанием два
         ,10102 × 21102

Далее