|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
26.11.2011, 18:41 | #1 |
C++, Java
Старожил
Регистрация: 10.04.2010
Сообщений: 2,665
|
Касты и обычное приведение типов
Вот есть такой кусок кода:
Код:
Код:
Код:
P.S. Юзаю Visual C++ Express 2010. Последний раз редактировалось _-Re@l-_; 26.11.2011 в 18:47. |
26.11.2011, 19:03 | #2 |
Форумчанин
Регистрация: 20.10.2011
Сообщений: 433
|
Могу ошибаться, но вроде как разный приоритет операций, поэтому последовательность операций другая, как итог и результат.
|
26.11.2011, 19:05 | #3 |
Форумчанин
Регистрация: 26.03.2010
Сообщений: 538
|
В первом примере сначала делишь int на int- получаешь int, а потом приводишь к double. Во втором и третьем сначала приводишь к double, а потом делишь на int.
Единственный способ стать умнее - играть с более умным противником.
|
26.11.2011, 19:06 | #4 |
C++, Java
Старожил
Регистрация: 10.04.2010
Сообщений: 2,665
|
Ну, с первым случаем я разобрался, там просто целочисленный результат приводится к вещественному.
А вот второй и третий - да, там приоритет такой какой надо, и результат там совпадает. Sam Gold Да, спасибо. |
27.11.2011, 06:13 | #5 | |
Форумчанин
Регистрация: 01.07.2011
Сообщений: 423
|
Цитата:
В последних двух вариантах, когда вы число 100 привели к типу double, то и все остальные операнды выражения переводятся в тип double, так как ранг ( это термин из стандарта С) double выше, чем ранг int. Но проще было вообще не использовать приведение типов, а нписать выражение следующим образом arr[i] = 100.0 / (i+1) ; Так как константа 100.0 имеет тип double, то и другие операнды будут преобразованы в тип double
Со мной можно встретиться на www.clipper.borda.ru
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
приведение типов??? | nikozavr | C# (си шарп) | 1 | 14.05.2011 22:29 |
NetUserAdd() приведение типов | disaer | Общие вопросы C/C++ | 2 | 12.05.2011 08:09 |
Приведение пользовательских типов | peplenko | Общие вопросы C/C++ | 6 | 18.04.2011 12:59 |
С - приведение типов | onewho | Общие вопросы C/C++ | 3 | 21.11.2010 00:12 |
Приведение типов в Qt | mike_tihomirov | Qt и кроссплатформенное программирование С/С++ | 1 | 19.06.2010 13:14 |