Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Вопрос на засыпку знатокам VB :) Добавлено: 15.08.04 02:39  

Автор вопроса:  Sharp | Web-сайт: sharpc.livejournal.com | ICQ: 216865379 

Ответить

  Ответы Всего ответов: 23  

Номер ответа: 16
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #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-сайт: grayich.narod.ru
 Профиль | | #18
Добавлено: 15.08.04 04:27
Наверное ограничено 32-разрядной адресацией памяти, vb6 32-разрядный кажись

Ответить

Номер ответа: 19
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #19
Добавлено: 15.08.04 05:07
> Long = 32*Boolean
Кто тебе сказал такую чушь? А ну-ка быстренько напиши
Private Sub Command1_Click()
    ;Dim a As Boolean
    MsgBox LenB(a)
End Sub
и нажми кнопочку F5! Осознал всю глубину своего морального падения?

Ответить

Номер ответа: 20
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #20
Добавлено: 15.08.04 09:50
ИМХО 2^32 или 2^64 в зависимости от оси.

Ответить

Номер ответа: 21
Автор ответа:
 Sur



ICQ: 1249088 

Вопросов: 10
Ответов: 304
 Web-сайт: sur.hotbox.ru/
 Профиль | | #21
Добавлено: 16.08.04 14:52
Так чего? Ответ 32 для vb6 (vb.net) не катит? Напрямую зависит от версии Бейсика (16,32 разрядный..., будет другой - будет больше)

Ответить

Номер ответа: 22
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #22
Добавлено: 16.08.04 21:32
Ответ 32 не катит. Версия: VB6

Ответить

Номер ответа: 23
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #23
Добавлено: 19.08.04 13:30
Короче, раз никто не знает, придется признаваться :(
Ответ кроется в структуре SAFEARRAY: число размерностей определяется переменной cDims, которая имеет тип Integer. Следовательно, максимальное число размерностей 32767.

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам