Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.06.13;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.54 MB
Время: 0.069 c
4-1084119779
LK
2004-05-09 20:22
2004.06.13
Запуск и ожидание завершения процесса


14-1085594952
ikivio
2004-05-26 22:09
2004.06.13
Ищу, в санкт Петербурге, программиста-сообщника ( временно безраб


4-1083835490
webpauk
2004-05-06 13:24
2004.06.13
Данные из чужого окна


1-1085711439
R
2004-05-28 06:30
2004.06.13
Qutlook Express и Delphi


3-1084944163
Yagoda
2004-05-19 09:22
2004.06.13
Добавление своего метода в интерфейс сервера ??





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский