ecf825b2

C2D (Символьное в десятичное)


Функция C2D в качестве результата возвращает десятичное значение двоичного представления указанной строки. Если результат не может быть представлен в виде целого числа, то выдается сообщение об ошибке. Результат не должен содержать больше цифр, чем определено в текущем назначении NUMERIC DIGITS.

Если указанная строка пустая, то в качестве результата возвращается 0.

Если не указано значение n, то строка обрабатывается как двоичное число без знака.

Ниже приведено несколько примеров: C2D('09'X) -> 9 C2D('81'X) -> 129 C2D('FF81'X) -> 65409 C2D('a') -> 97 /* ASCII */

Если значение n определено, то указанная строка заполняется слева символами 00х (без знака), или усекается слева до количества символов, равного значению n. Полученная строка из n шестнадцатеричных цифр рассматривается как двоичное число со знаком: положительное, если крайний левый бит сброшен (установлен в OFF), и отрицательное (в форме дополнения до двоичного числа два), если крайний левый бит установлен в ON. Если значение n равно 0, то в качестве результата всегда возвращается 0.

Ниже приведено несколько примеров: C2D('81'X,1) -> -127 C2D('81'X,2) -> 129 C2D('FF81'X,2) -> -127 C2D('FF81'X,1) -> -127 C2D('FF7F'X,1) -> 127 C2D('F081'X,2) -> -3967 C2D('F081'X,1) -> -127 C2D('0031'X,0) -> 0

Максимально допустимое значение: Вводная строка не может состоять более чем из 250 символов, которые будут значащими при формировании окончательного результата. Начальные символы, определяющие знак (00x и ffx), не учитываются в этом общем итоге.



Содержание раздела