Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic
Войти
Регистрация
Восстановить пароль
 
Adrenalin
0 / 0 / 0
Регистрация: 08.09.2007
Сообщений: 51
#1

Почему происходит переполнение? - VB

10.01.2009, 16:43. Просмотров 422. Ответов 1
Метки нет (Все метки)

Помогите ...
Visual Basic
1
2
3
Dim Nr1 As Double
Nr1 = 200 * 300
MsgBox Nr1
Error
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2009, 16:43
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Почему происходит переполнение? (VB):

Происходит дублирование формы ... Почему?
Привет всем. В своем MDI приложении я сделал возможность сохранения...

Почему происходит генерация ошибки при перемещение указателя текущей записи на запись Recordset?
Почему происходит генерация ошибки при перемещение указателя текущей записи на...

Почему происходит ошибка "Нижний индекс вне диапазона"?
Обьясните пожалуйста, почему выскакивает ошибка 'Нижний индекс вне...

Переполнение, ошибка 6
number = 2 ^ (b(i) - 1) Mod b(i) Данная строка выдает ошибку 6,...

Переполнение в y = (a ^ x) Mod b
Помогите пожалуйста решить проблему. Выполняю обычное вычисление: y = (a...

Переполнение при Mod
Dim c As Double For i = LBound(b) To UBound(b) c = 2 ^ (b(i) - 1)...

1
kimsite
1 / 1 / 1
Регистрация: 24.07.2007
Сообщений: 178
10.01.2009, 17:20 #2
По умолчанию (200 * 300) - должно получится число типа Integer.
Можно проверить: (200 * 160 = 32000) - еще работает, а (200 * 170 = 34000) уже нет.
Так как Integer лежит до 32678.
Так что надо все множители переводить сразу в соответствующий формат.
А то VB сначала умножает, а потом переводит в нужный формат.
Вообщем, сделай так:

Visual Basic
1
2
3
Dim Nr1 As Double
Nr1 = CDbl(200) * CDbl(300)
MsgBox Nr1
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2009, 17:20
Привет! Вот еще темы с решениями:

Непонятное переполнение буфера
Замучила одна ботва, не буду расписывать что к чему, но все сводится к одному:...

Как обойти переполнение памяти?
Как лучше обойти переполнение памяти в решении этой задачи? Есть притча о...

Переполнение при перемножении чисел типа Variant
Вот так работает: Dim TotF As Long TotF = 15000000 А вот так выдаёт...

Почему происходит переполнение?
Если диапазон float: -2 147 483 648.0 / 2 147 483 647.0, то почему происходит...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru