
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
30.09.2014, 00:55
|
|||
|---|---|---|---|
|
|||
Как компилятор вычисляет тип математического выражения? |
|||
|
#18+
Есть абстрактное математическое выражение: Код: java 1. Какой будет тип у выражения? Неужели всегда самый "широкий" из присутствующих членов вне зависимости от операций? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.09.2014, 05:07
|
|||
|---|---|---|---|
|
|||
Как компилятор вычисляет тип математического выражения? |
|||
|
#18+
А какой вариант вы предлагаете? А почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.09.2014, 09:05
|
|||
|---|---|---|---|
|
|||
Как компилятор вычисляет тип математического выражения? |
|||
|
#18+
questionerКакой будет тип у выражения? В JLS расписано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.09.2014, 09:49
|
|||
|---|---|---|---|
Как компилятор вычисляет тип математического выражения? |
|||
|
#18+
questioner, для 2х значений, объединенных бинарным оператором 1. Если хотя бы один из операндов имеет тип double, то второй тоже преобразуется к double. 2. В противном случае, если хотя бы один из операндов имеет тип float, то второй тоже преобразуется к float. 3. В противном случае, если хотя бы один из операндов имеет тип long, то второй тоже преобразуется к long. 4. В противном случае оба операнда преобразуются к int ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.09.2014, 14:16
|
|||
|---|---|---|---|
Как компилятор вычисляет тип математического выражения? |
|||
|
#18+
questioner , javac на момент исполнения расчётов byte, short, int кастит всё в int. Поэтому не особо парься с мелкими типами. Тоесть лишний раз даже нет смысла их декларировать если это не массивы. Long идёт отдельной категорией. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.09.2014, 15:22
|
|||
|---|---|---|---|
|
|||
Как компилятор вычисляет тип математического выражения? |
|||
|
#18+
я просто был удивлён, что после исполнения этой строчки Код: java 1. значение переменной d = 0; я думал, что если деление, то тип будет double ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.09.2014, 15:27
|
|||
|---|---|---|---|
Как компилятор вычисляет тип математического выражения? |
|||
|
#18+
Будет целочисленное деление 1/2 которое даст 0. Потом кастинг в double. Лучше так писать: Код: java 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.09.2014, 15:33
|
|||
|---|---|---|---|
|
|||
Как компилятор вычисляет тип математического выражения? |
|||
|
#18+
questionerя думал, что если деление, то тип будет double Почему должен быть double, а не float? Тип деления int на int - int. Это по-моему логично. Научитесь читать JLS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.09.2014, 15:38
|
|||
|---|---|---|---|
Как компилятор вычисляет тип математического выражения? |
|||
|
#18+
Это тяжкое наследие старика Вирта. Чортов профессор запилил два деления. Вещественное "/" и целочисленное DIV и вобщем заставил высрать немало кирпичей при миграции с Pascal/Delphi на С++/Java где вывод типа совсем другой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.09.2014, 15:42
|
|||
|---|---|---|---|
|
|||
Как компилятор вычисляет тип математического выражения? |
|||
|
#18+
Blazkowicz, авторПочему должен быть double, а не float? это не столь важно. на float я бы тоже согласился, пожалуй. Если надо обрубить дробную часть - касть к int. авторНаучитесь читать JLS. я не смог по этому вопросу jls нагуглить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.09.2014, 16:13
|
|||
|---|---|---|---|
|
|||
Как компилятор вычисляет тип математического выражения? |
|||
|
#18+
maytonЭто тяжкое наследие старика Вирта. Он то тут при чем, если в процессоре это разные команды? Причем даже вещественное деление можно делать по разному. Почему это нужно прятать от программиста? Ну ладно в C++ - там операции можно назначить такого, что потом сам удивляться будешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.09.2014, 16:15
|
|||
|---|---|---|---|
|
|||
Как компилятор вычисляет тип математического выражения? |
|||
|
#18+
questionerя не смог по этому вопросу jls нагуглить. Не надо гуглить JLS. Там содержания достаточно. http://docs.oracle.com/javase/specs/jls/se8/html/index.html 4. Types, Values, and Variables 4.1. The Kinds of Types and Values 4.2. Primitive Types and Values 5. Conversions and Promotions - тоже близко к теме. Стоит обзорно прочесть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&mobile=1&tid=2126531]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
181ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 441ms |

| 0 / 0 |
