![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 18.09.2016
Сообщений: 30
|
![]()
Здравствуйте.
Имеется следующий код. И если изменить тип данных переменных a и b, на что-то отличное от int, то возникает ошибка. Может кто-то объяснить, в чем дело? |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
при сложении идет расширение до int, который в short/ushort не влазит.
а так вообще-то все написано в подсказке. можете навести на знак минуса, последние студии отобразят типы. + на практике нет смысла уменьшать типы просто так. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 22.09.2016 в 18:09. |
![]() |
![]() |
![]() |
#3 | |
Пользователь
Регистрация: 18.09.2016
Сообщений: 30
|
![]() Цитата:
Т.е. это никак не уменьшить? |
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
это экономия на спичках, тем более как видите считается все равно в int'ах.
чтоб исправить ошибку прочитайте сообщение о ней, там есть подсказка. в скобках Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 18.09.2016
Сообщений: 30
|
![]() |
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
более короткие типы обычно нужны при работе с внешними данными.
так как формат обычно не мы выбираем ![]() Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,091
|
![]()
можно написать a = (short) (x - 1), но это бесполезные телодвижения.
Не пытайтесь ничего оптимизировать, пока не прокачаетесь как разработчик. В текущих компиляторах C# и других нормальных языков имеются достаточно неплохие оптимизаторы, которым хорошо известно как подобные вещи оптимизировать. Даже если везде пропишете short, оптимизатор может решить физически пихать в память int и все ваши попытки выиграть горсть байт на выходе не дадут никакой пользы, а будет только плохой код с кучей преобразований типов. |
![]() |
![]() |
![]() |
#8 | |
Пользователь
Регистрация: 18.09.2016
Сообщений: 30
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Типы данных | Olper | Microsoft Office Excel | 12 | 08.12.2011 16:37 |
типы данных | sp@ker | Общие вопросы Delphi | 8 | 26.04.2011 20:48 |
типы данных. | svoi92 | Помощь студентам | 2 | 10.02.2011 13:45 |
Типы данных | psycho-coder | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 04.02.2010 20:03 |