Страница: 1 | 2 |
Вопрос: Вопрос на засыпку знатокам VB :)
Добавлено: 15.08.04 02:39
Автор вопроса: Sharp | Web-сайт:
Ответы
Всего ответов: 23
Номер ответа: 16
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #16
Добавлено: 15.08.04 04:06
Я могу тебе в два счета объяснить твой мегарезультат:
1) Нумерация элементов массива в VB, если не указано иное, начинается с 0, таким образом, у тебя имелся массив с 2^27 элементами. Для типа Long размер массива составил 512 мегабайт.
2) Размерность массива зависит от типа переменных лишь постольку поскольку память на машине ограничена и при таком массиве, как a(1,1,1,...) она исчерпывается очень быстро.
Ну ничего, утром проснутся профи, и весна покажет, кто где... какая максимальная размерность у массива в VB. Еще раз подчеркиваю - теоретическая.
Номер ответа: 17
Автор ответа:
ZagZag
ICQ: 295002202
Вопросов: 87
Ответов: 1684
Профиль | | #17
Добавлено: 15.08.04 04:14
Это должны быть по настоящему маньяки!
Я тестил 27 измерений в Boolean, а Long = 32*Boolean (он ведь 4 байта)
И это будет зависеть на прямую от оперативки компа!
У меня 256 Мегов
Номер ответа: 18
Автор ответа:
Grayich
ICQ: 208280504
Вопросов: 56
Ответов: 164
Web-сайт:
Профиль | | #18
Добавлено: 15.08.04 04:27
Наверное ограничено 32-разрядной адресацией памяти, vb6 32-разрядный кажись
Номер ответа: 19
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #19
Добавлено: 15.08.04 05:07
> Long = 32*Boolean
Кто тебе сказал такую чушь? А ну-ка быстренько напиши
Private Sub Command1_Click()
 im a As Boolean
MsgBox LenB
End Sub
и нажми кнопочку F5! Осознал всю глубину своего морального падения?
Номер ответа: 20
Автор ответа:
Morpheus
Вопросов: 224
Ответов: 3777
Web-сайт:
Профиль | | #20
Добавлено: 15.08.04 09:50
ИМХО 2^32 или 2^64 в зависимости от оси.
Номер ответа: 21
Автор ответа:
Sur
ICQ: 1249088
Вопросов: 10
Ответов: 304
Web-сайт:
Профиль | | #21
Добавлено: 16.08.04 14:52
Так чего? Ответ 32 для vb6 (vb.net) не катит? Напрямую зависит от версии Бейсика (16,32 разрядный..., будет другой - будет больше)
Номер ответа: 22
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #22
Добавлено: 16.08.04 21:32
Ответ 32 не катит. Версия: VB6
Номер ответа: 23
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #23
Добавлено: 19.08.04 13:30
Короче, раз никто не знает, придется признаваться
Ответ кроется в структуре SAFEARRAY: число размерностей определяется переменной cDims, которая имеет тип Integer. Следовательно, максимальное число размерностей 32767.