Страница: 1 |
Вопрос: Что ето с long?Или я умножать не умею? | Добавлено: 17.07.04 20:20 |
Автор вопроса: ![]() |
Dim a as long
a=142*256 И получаем переполнение!В документации ведь сказано, что long ето -2147483648 до +2147483647. Так что за муть?Ведь 142*256=36352! ??? |
Ответы | Всего ответов: 3 |
Номер ответа: 1 Автор ответа: ![]() ![]() ICQ: 780477 Вопросов: 72 Ответов: 1297 |
Web-сайт: Профиль | Цитата | #1 | Добавлено: 17.07.04 20:22 |
MsgBox 142 * 256
А ето что за фигня?Неужели на ВБ невозможно умножить 142 на 256??? |
Номер ответа: 2 Автор ответа: ![]() ![]() ICQ: 780477 Вопросов: 72 Ответов: 1297 |
Web-сайт: Профиль | Цитата | #2 | Добавлено: 17.07.04 20:27 |
зараза пыганая, я уже переживать начал...ху...нашел способ:
Dim a As Long, b As Long, c As Long a = 142 b = 256 c = a * b MsgBox c |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 233286456 Вопросов: 34 Ответов: 5445 |
Web-сайт: Профиль | Цитата | #3 | Добавлено: 17.07.04 20:45 |
По умолчанию VB использует тип int, и только если число больше максимально возможного для int, VB cчитает что число Long... В твоем случае достаточно было всего-лишь явно указать тип переменной, а именно:
MsgBox 142& * 256& И все замечательно заработало бы! |
Страница: 1 |
|