Форум: "Основная";
Текущий архив: 2007.08.19;
Скачать: [xml.tar.bz2];
ВнизЧто означает такая запись? Найти похожие ветки
← →
Чапаев © (2007-06-09 09:17) [0]
var
A: Integer;
...
A := $;
...
Никогда раньше не встречал константу "$". Что она означает?
← →
MBo © (2007-06-09 09:21) [1]шестнадцатиричный ноль, видимо, компилятор пропускает такое
← →
Reindeer Moss Eater © (2007-06-09 09:22) [2]Означает, что дальше последует целое в шестнадцатеричном представлении.
← →
Чапаев © (2007-06-09 09:33) [3]
> шестнадцатиричный ноль, видимо, компилятор пропускает такое
А и правда... Я и забыл, что отсутствие знаков в числе расценивается как ноль. Спасибо. ;-)
← →
MBo © (2007-06-09 09:39) [4]>Я и забыл, что отсутствие знаков в числе расценивается как ноль.
Ну это все-таки как-то неправильно, я считаю.
BDS подчеркивает $; и при наведении мыши говорит Invalid hexadecimal character specification, однако прдкпреждений не выдает и компилирует
← →
Чапаев © (2007-06-09 09:44) [5]
> Ну это все-таки как-то неправильно, я считаю.
Ну... Таков синтаксис. Мне 5. или .5 тоже не особо нравятся, но так было задумано. ;-)
← →
Чапаев © (2007-06-09 09:45) [6]Опа... А Делфи var F: Real ... F := .1; не понимает. Паскаль понимал...
← →
Anatoly Podgoretsky © (2007-06-09 15:35) [7]> MBo (09.06.2007 09:21:01) [1]
> шестнадцатиричный ноль, видимо, компилятор пропускает такое
В таком случае должен пропускать A := ; Десятичный ноль
← →
Германн © (2007-06-09 16:18) [8]Money, money, money, always sunnyIn the rich man"s world.
← →
MBo © (2007-06-09 16:46) [9]>В таком случае должен пропускать A := ; Десятичный ноль
Угу :)
Видимо, дело в логике работы разборщика строки у компилятора, поскольку библиотечные функцииэтого не позволяют, например StrToInt("$") не проходит.
К примеру, если для этого задействован конечный автомат, логика может быть такой:
После IntVar := входит в состтояние ожидания идентификатора функции, константы, десятичной цифры или $.
После цифры или $ в приемник записывается начальное значение 0, автомат переходит в состояние ожидания пробела, точки с запятой, или цифры (во втором случае - шестнадатиричной).
Получив точку с запятой, автомат завершает разбор оператора.
← →
Однокамушкин (2007-06-09 22:06) [10]
>
> Чапаев © (09.06.07 09:45) [6]
> Опа... А Делфи var F: Real ... F := .1; не понимает. Паскаль
> понимал...
Специально проверил, Турбо Паскаль 7-ой не понимает... других версий у меня не сохранилось, но подозреваю, что и они не поняли бы... это фортран такую запись понимал, и ещё некоторые диалекты бейсика...
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2007.08.19;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.05 c