Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.192] |
|
|
Правила раздела:
| Страницы: (495) « Первая ... 87 88 [89] 90 91 ... 494 495 ( Перейти к последнему сообщению ) |
Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
|
Сообщ.
#1321
,
|
|
|
|
--Ins--
любой мало-мальски сведущий в С++/C# программист знает, что при делении 2 целых чисел происходит целочисленное деление -.- |
|
Сообщ.
#1322
,
|
|
|
|
Эт шо за фича такая? В делфи нет целочисленного деления?
|
|
Сообщ.
#1323
,
|
|
|
|
о Питон тоже так делает о_О приятная неожиданность со стороны скриптового языка
|
|
Сообщ.
#1324
,
|
|
|
|
В калькуляторе везде используется float
|
|
Сообщ.
#1325
,
|
|
|
|
в Делфи это делается оператором div кажись
|
|
Сообщ.
#1326
,
|
|
|
|
Теперь уже удивлён я. Неявные касты теперь стали ожидаемыми? Хммм, надо будет сказать тем, кто ругает C |
|
Сообщ.
#1327
,
|
|
|
|
Цитата Radagast @ --Ins-- любой мало-мальски сведущий в С++/C# программист знает, что при делении 2 целых чисел происходит целочисленное деление -.- Да я знаю почему такой результат получается. Я говорю только о том, что он не соответствует ожидаемому. Абстракции текут - мама не горюй Программист должен быть инженером, а не хакером, поведение абстракций должно основываться на здравом смысле, а не том, что как говорится "нужно запомнить потому что понять это нельзя"Цитата Повстанець @ Эт шо за фича такая? В делфи нет целочисленного деления? Есть. |
|
Сообщ.
#1328
,
|
|
|
|
Цитата --Ins-- @ Другим оператором, чтоли? Есть. |
|
Сообщ.
#1329
,
|
|
|
|
Цитата Мяут-Настоящий @ В калькуляторе везде используется float А что, результат должен зависеть от типов переменных? Ну было у тебя сначала int, а потом ты заменил на float. Будешь везде код менять чтобы считало правильно? Или забудешь (разумеется), а потом день проведешь в отладке? Добавлено Цитата Повстанець @ Другим оператором, чтоли? Естественно |
|
Сообщ.
#1330
,
|
|
|
|
Racket/CL: ![]() ![]() > (let ((a 20) (b 10) (c 50) (d 10)) (+ a (* d (/ b c)))) 22 > (let ((a 20.0) (b 10) (c 50) (d 10.0)) (+ a (* d (/ b c)))) 22.0 Python: ![]() ![]() >>> a = 20.0 >>> b = 10 >>> c = 50 >>> d = 10.0 >>> a + (b / c) * d 20.0 >>> a = 20 >>> b = 10 >>> c = 50 >>> d = 10 >>> a + (b / c) * d 20 >>> Haskell: ![]() ![]() main = print e where e = a + (b / c) * d a = 20 b = 10 c = 50 d = 10 -- 22.0 |
|
Сообщ.
#1331
,
|
|
|
|
Цитата --Ins-- @ Я говорю только о том, что он не соответствует ожидаемому. Соответствует. Цитата --Ins-- @ Абстракции текут - мама не горюй ![]() Целочисленная арифметика это даже не абстракции - это обертка над ассемблером. А потом такие языки пойдут в критичные приложения, выставят температуру 22 вместо 20 и чего-нить да нарушат. Нет, спасибо! |
|
Сообщ.
#1332
,
|
|
|
|
Цитата Мяут-Настоящий @ python ![]() ![]() >>> a = 20.; d = 10. >>> b = 10; c = 50 >>> e = a + (b / c) * d >>> print e 20.0 Выкидывай свое Delphi ![]() выкидывай свой пейтон =) Добавлено Цитата Radagast @ --Ins-- любой мало-мальски сведущий в С++/C# программист знает, что при делении 2 целых чисел происходит целочисленное деление -.- любой мало-мальски сведущий в математике программист знает, что при делении двух целых чисел получается натуральная дробь =) |
|
Сообщ.
#1333
,
|
|
|
|
Цитата --Ins-- @ А что, результат должен зависеть от типов переменных? Зато если я на своем любимом 8051 напишу паскальное b / c, он преобразует это во float-вычисления, а т.к. 8051 не имеет FPU все это дело развернется в эмуляцию float-операций и получатся некрутые тормоза - мне тоже день в отладке сидеть? |
|
Сообщ.
#1334
,
|
|
|
|
Цитата Мяут-Настоящий @ Зато если я на своем любимом 8051 напишу паскальное b / c, он не скомпилирует для целочисленного выражения |
|
Сообщ.
#1335
,
|
|
|
|
Цитата Мяут-Настоящий @ python ![]() ![]() >>> a = 20.; d = 10. >>> b = 10; c = 50 >>> e = a + (b / c) * d >>> print e 20.0 Вообще-то / в питоне всегда возвращает float. Хотя... может быть я чего-то забыл... |