Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.192] |
|
|
Правила раздела:
| Страницы: (495) « Первая ... 99 100 [101] 102 103 ... 494 495 ( Перейти к последнему сообщению ) |
Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
|
Сообщ.
#1501
,
|
|
|
|
|
Сообщ.
#1502
,
|
|
|
|
Цитата MyNameIsIgor @ Результат здесь будет 600. Отлично. Т.е. здесь byte к int-у неявно преобразуется? |
|
Сообщ.
#1503
,
|
|
|
|
Цитата --Ins-- @ Я ж даже попробовал ликбезом объяснить. Потому что в отличие от математики операция / в C определена для целых всегда, и было бы странным применить для неё promotion отличным от других случаев способом. Дело не в типе результата выражения, оно определяется другими методами, дело в типах операндов в операции, а они оба целые. А с математической точки зрения MyNameIsIgor прав, результатом / тогда уж должно быть бы быть рациональное, а не действительное.Еще объясни почему сход неожиданный, если у нас в выражении явно используются вещественные? Использование специального значка для той же операции мы уже проходили когда-то. Это нафиг рушит обощённость. Если б ваша / для целых давала бы ошибку компиляции, вашим дженерикам тоже пришлось бы несладко. |
|
Сообщ.
#1504
,
|
|
|
|
Цитата Qraizer @ Это нафиг рушит обощённость. Оно и так ее нафиг рушит, и я тоже приводил пример |
|
Сообщ.
#1505
,
|
|
|
|
Цитата MyNameIsIgor @ Странно. А на С++ будет 344. Я неправильно прочитал. Результат здесь будет 600. |
|
Сообщ.
#1506
,
|
|
|
|
Цитата --Ins-- @ Отлично. Т.е. здесь byte к int-у неявно преобразуется? А у вас нет? TurboPascal 7.0 говорит тоже 600 |
|
Сообщ.
#1507
,
|
|
|
|
Цитата Qraizer @ А у вас нет? TurboPascal 7.0 говорит тоже 600 Ну да, поведение такое же как и для предыдущего примера. А в с# в первом примере так (не приводим тип к float), а во втором - эдак (приводим тип к int) |
|
Сообщ.
#1508
,
|
|
|
|
Повстанець, ты не прав.
|
|
Сообщ.
#1509
,
|
|
|
|
Цитата Повстанець @ А на С++ будет 344. О, значит и сишникам что-то объяснять тоже нужно будет при переходе на c#, не только "математикам" А вы говорите... |
|
Сообщ.
#1510
,
|
|
|
|
Цитата --Ins-- @ так что, при Ну да, поведение такое же как и для предыдущего примера. var a, b, c : byte; c := a + b; выдаёт ошибку? |
|
Сообщ.
#1511
,
|
|
|
|
Цитата Qraizer @ Повстанець, ты не прав Ладно, тогда предыдущий пост забираю назад, если вы сами еще не определились |
|
Сообщ.
#1512
,
|
|
|
|
Цитата --Ins-- @ Только не проебразуется, а r-value типа char "продвигается" к int. Т.е. здесь byte к int-у неявно преобразуется? Добавлено Так, ладно. Пошёл-ка я Mass Effect 2 запущу. |
|
Сообщ.
#1513
,
|
|
|
|
Цитата Qraizer @ Мамой клянусь, что 344. Проверил на вижуле и gcc. Повстанець, ты не прав. |
|
Сообщ.
#1514
,
|
|
|
|
Цитата Повстанець @ выдаёт ошибку? Это от директив компилятора зависит. Если переполнение запрещено, то при переполнении в рантайм будет ошибка. Если нет - то не будет. По умолчанию переполнение разрешено. Рекомендуется в отладочных версиях программы включать контроль переполнения для выявления ошибок в коде, а в релизе - убирать. |
|
Сообщ.
#1515
,
|
|
|
|
Цитата --Ins-- @ MyNameIsIgor, а чем плохо ввести две разных операции для целых: целочисленное деление и нецелочисленное деление? И значки для них разные? Проблем было бы гораздо меньше ![]() Каких проблемм ? --Ins--, раскажи мне реальную задачу где в одном выражении можно тупо написать выражение смешанных чисел? Одно время мы с другом писали графический движок, используя ОпенГЛ, друган писал физику, я писал сохранение моделей из 3ДМакс, загрузку их в нашу проггу, плюс наложение текстур, рендеринг модели, вычисление нормалей, ребра отсечений и т.д. и т.п. И то там везде юзались флоаты, а если и были целые, они никак не пересекались с флоатами... Я конечно не исключаю что такие выражения возможны, просто ты так выразился: Как будто это одно большое страдание. Когда такое действительно бывает, то если ты даже и запарился, то полюбому ты тут же поймешь в чем дело, потому как результаты разные будут, а если тебе влом тестить визуально свою программу, то дальше юнит тестов она не пройдет, я уже молчу о тестерах и т.д. О каких съехавших с рельс поездах ты говорил, я даже понятия не могу представить... Или у вас в делфи не практикуется Юнит тестирование ? И тестирование программ вообще? |