Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.13;
Скачать: CL | DM;

Вниз

Типы данных   Найти похожие ветки 

 
Anton   (2004-06-02 10:36) [0]

Почему присваивая переменной типа Integer значение 262144 компилятор не ругается. Ведь Integer это двухбайтная переменная?


 
Тимохов ©   (2004-06-02 10:37) [1]


> Ведь Integer это двухбайтная переменная

да ну!


 
Тимохов ©   (2004-06-02 10:37) [2]

а f1 на integer нажать?
там еще много типов


 
Ega23 ©   (2004-06-02 10:39) [3]

Anton   (02.06.04 10:36)

Не путай Ж.. с Пальцем, а TurboPascal с Delphi...


 
Ozone ©   (2004-06-02 10:39) [4]

TO Anton

> Ведь Integer это двухбайтная переменная

Это она в паскале была такой.


 
Семен Сорокин ©   (2004-06-02 10:43) [5]

длина INTEGER зависит от разрядности ОС.


 
Плохиш   (2004-06-02 10:48) [6]


> Семен Сорокин ©   (02.06.04 10:43) [5]
> длина INTEGER зависит от разрядности ОС.

Хотите сказать, что в TP в Win2k integer = 4 байта?


 
Семен Сорокин ©   (2004-06-02 17:13) [7]

Плохиш   (02.06.04 10:48) [6]
Хотите сказать, что в TP в Win2k integer = 4 байта?

нет, но ведь в TP компилятор с 16-битной адресацией.
длина INTEGER зависит от разрядности среды программирования :)


 
WebErr ©   (2004-06-02 17:34) [8]

Если хотите различать двубайтный Integer от 4-байтного, пользуйтесь стандартными типами Shortint и Longint.
Можно ещё и Smallint, но это уже на любителя... :)
А вообще - прикольный вопрос!
Вы мне теперь надолго настроение подняли!

> Ozone ©   (02.06.04 10:39) [4]
> Это она в паскале была такой.

А в Делфи разве не Паскаль используется?


 
Reindeer Moss Eater ©   (2004-06-02 17:36) [9]

пользуйтесь стандартными типами

Скорее фундаментальными или физическими вместо логических


 
Anatoly Podgoretsky ©   (2004-06-02 17:37) [10]

Anton   (02.06.04 10:36)  
Зачем тебе размер знать, тебе надо знать максимальное значение, которое можно написать в integer, для этого существует константа MaxInt


 
Gero ©   (2004-06-02 17:38) [11]


> А в Делфи разве не Паскаль используется?

Нет.

> длина INTEGER зависит от разрядности ОС
> длина INTEGER зависит от разрядности среды программирования :)

Только от компилятора.


 
Семен Сорокин ©   (2004-06-02 17:41) [12]

А в Делфи разве не Паскаль используется?
в Delphi используется Delphi на базе Object-Pascal.

Gero ©   (02.06.04 17:38) [11]
ага, это и имелось в виду, только выразил неверно.


 
WebErr ©   (2004-06-02 17:46) [13]

Ok, в Делфи не используется Паскаль, а используется Паскаль с ООП надстройкой.
Тогда в С++ не используется С!


 
WebErr ©   (2004-06-02 17:52) [14]

А в Windows XP нет DOS совместимости! 8)


 
Gero ©   (2004-06-02 17:53) [15]


> WebErr ©   (02.06.04 17:46)

В посте [12] очень точно написано, что используется в Delphi.


 
WebErr ©   (2004-06-02 18:07) [16]

То как теперь называется Паскаль, пусть он хоть трижды объектный, мне как-то всё равно, я довольно конкретно объяснился по поводу корней Делфи. Кому надо, тот понял, остальные пусть верят в то, что Делфи - это не потомок Паскаля.
Все циклы for, while, repeat..until, любой if говорит нам о том, что мы используем паскалевский синтаксис и то, как теперь называется IDE мне как-то глубоко фиолетово!


 
Gero ©   (2004-06-02 18:12) [17]


> IDE мне как-то глубоко фиолетово!

А фиг его знает как оно называется.
Delphi IDE, наверное.
А язык Delphi ты можешь называть как угодно, хоть Покемончиком, дело твое, но правильно он будет называться так, как решит Borland.


 
jack128 ©   (2004-06-02 18:16) [18]


> любой if говорит нам о том, что мы используем паскалевский
> синтаксис
а мне это говорит об Алгол"е и что мне теперь говорить, что я на нем, а не на Delphi программирую? ;-)


 
WebErr ©   (2004-06-02 18:18) [19]

Delphi - это название продукта, а не языка программирования! :)
Почитайте Object Pascal Guide! ^^


 
WebErr ©   (2004-06-02 18:19) [20]


> jack128 ©   (02.06.04 18:16) [18]

Любой пример if из Алгола навскидку, только быстро!


 
Gero ©   (2004-06-02 18:21) [21]


> WebErr ©   (02.06.04 18:18)

Почитай Delphi Language Guide.
Язык, начиная с Delphi версии 7 и выше, называется Delphi.


 
WebErr ©   (2004-06-02 18:23) [22]


> Gero ©   (02.06.04 18:21) [21]

У меня 6-ая версия, поэтому данное высказывание останется на вашей совести.


 
jack128 ©   (2004-06-02 18:26) [23]


> Любой пример if из Алгола навскидку, только быстро!
IF A <> B THEN

ps http://www.uni-vologda.ac.ru/cs/syntax/algol-60.htm


 
WebErr ©   (2004-06-02 18:38) [24]

Случайное совпадение.
Вот если бы всё совпадало, как в Delphi и ObjectPascal (уж не знаю чем они отличаются!!!), тогда можно бы было сказать, что эти языки это, на самом деле, один и тот же язык! :)


 
jack128 ©   (2004-06-02 18:48) [25]


> Случайное совпадение.
> Вот если бы всё совпадало, как в Delphi и ObjectPascal
ты издеваешься? между ними (Algol и ОР) больше 30 лет разницы, а между OP и Delphi пара лет.. но даже по той ссылке которую я дал(не видя реального кода) и так понятно что синтаксис паскаля весьма похож на Algol.


> уж не знаю чем они отличаются!!!),
Ставишь D7 и смотришь изменения языка...


 
evvcom ©   (2004-06-03 00:24) [26]


> IF A <> B THEN

Оно и на Бэйсике также, и на Си... Чуть ли не главной отличительной особенностью Паскаля, по-моему, является begin..end, для Си {}, ++, -- и многое другое.


 
jack128 ©   (2004-06-03 06:05) [27]


> Оно и на Бэйсике также, и на Си...
был конкретный вопрос > Любой пример if из Алгола навскидку, только быстро! - я дал на него ответ.

> Чуть ли не главной отличительной особенностью Паскаля, по-моему,
> является begin..end
в алголе тоже есть..


 
KSergey ©   (2004-06-03 07:11) [28]

> [26] evvcom ©   (03.06.04 00:24)
>
> > IF A <> B THEN
>
> Оно и на Си...

Вранье! В корне не так


 
KSergey ©   (2004-06-03 07:13) [29]

> WebErr ©   (02.06.04 18:38)
> Случайное совпадение.

Отнюдь. Впрочем, как уж боланду захотелось.
И, если уж придираться, по зовется не Delphi, а Delphi Language.
Вернее стал зваться с D7.


 
evvcom ©   (2004-06-03 08:50) [30]


> > Оно и на Си...
>
> Вранье! В корне не так

А... Да, да, вспоминаю. (A != B) во как. Сорри.


 
jack128 ©   (2004-06-03 08:51) [31]


> А... Да, да, вспоминаю. (A != B) во как. Сорри.
и then в С нету


 
KSergey ©   (2004-06-03 09:45) [32]

> [30] evvcom ©   (03.06.04 08:50)

Да, вот именно принципиально скобочки и [31] jack128 ©   (03.06.04 8:51) я и имел в виду.


 
Григорьев Антон   (2004-06-03 09:46) [33]

Кстати, в Алголе if не такой, как в Паскале/Delphi. В Алголе запрещены конструкции вида


if ... then
if ... then ...
else ...


Сделано это для того, чтобы исключить неопределённость с тем, к какому из if"ов относится else. Поэтому в Алголе допустимо писать так:


if ... then
begin
 if ... then ...
end
else
...


или так:


if ... then
begin
 if ... then ...
 else ...
end;


И никаких неопределённостей, хотя конструкция получается неортогональной. Так что кто хоть раз писал на Delphi вложенный if, точно не на Алголе программирует :))


 
KSergey ©   (2004-06-03 09:50) [34]

> [33] Григорьев Антон   (03.06.04 09:46)

Ну, неопределенности тут нет.
Хотя, возможно, и введено спец. ограничение, позволяющее принудить сделать внимательнее.
Хотя... как знать...


 
jack128 ©   (2004-06-03 09:51) [35]


> И никаких неопределённостей, хотя конструкция получается
> неортогональной. Так что кто хоть раз писал на Delphi вложенный
> if, точно не на Алголе программирует :))
Я процентов 50 % вложеных if"ов заключаю в begin/end. Только в последнее время стал избегать этого, хотя на Алголе не программировал :-)


 
Григорьев Антон   (2004-06-03 10:00) [36]


> KSergey ©   (03.06.04 09:50) [34]
> > [33] Григорьев Антон   (03.06.04 09:46)
>
> Ну, неопределенности тут нет.


Очень даже есть. Приходится придумывать дополнительное правило, что else относится к последнему if, у которого ещё нет else. Это правило не описывается простой грамматикой, поэтому синтаксический анализатор, который его использует, уже не может быть реализован в виде конечного автомата, а это заметно усложняет компилятор. Например, Вирт, который при разработке Оберона одной из основных целей считал простоту компилятора (и, ИМХО, шибко переборщил с этим, исключив из языка оператор for, тип-диапазон и перечисляемые типы), вообще отказался от понятия составного оператора, а в оператор IF ввёл служебные слова ENDIF и ELSEIF, которые исключают неоднозначность и сохранают ортогональность. Так что проблема есть, и то правило, которое используется в Паскале и Delphi (а также в С/С++ и некоторых других языках) - лишь один из вариантов преодоления неоднозначности.

P.S. Сейчас придёт модератор и перенесёт ветку в раздел "Потрепаться" :))


 
Vlad Oshin ©   (2004-06-03 10:33) [37]

s:string[2];

s:="123"; // s="12"


 
Vlad Oshin ©   (2004-06-03 10:33) [38]

s:string[2];

s:="123"; // s="12"
во как бывает еще !



Страницы: 1 вся ветка

Текущий архив: 2004.06.13;
Скачать: CL | DM;

Наверх




Память: 0.56 MB
Время: 0.036 c
1-1085721989
Артем К.
2004-05-28 09:26
2004.06.13
Создание компонента на основе TCustomControl с полосой прокрутки


14-1085657216
Mad Dancer
2004-05-27 15:26
2004.06.13
Читы для DX Ball 1


14-1085638234
REA
2004-05-27 10:10
2004.06.13
Хороший тон


1-1085977164
ilnarab
2004-05-31 08:19
2004.06.13
Здравствуйте! У меня к Вам вот какой вопрос:


3-1085157735
Reaper
2004-05-21 20:42
2004.06.13
Index - readonly?