OberonCore https://forum.oberoncore.ru/ |
|
ОТГОЛОСКИСИ :( https://forum.oberoncore.ru/viewtopic.php?f=27&t=1955 |
Страница 1 из 1 |
Автор: | ilovb [ Среда, 14 Октябрь, 2009 19:23 ] |
Заголовок сообщения: | ОТГОЛОСКИСИ :( |
Недавно ковырял PowerBasic 9.0 пишу: ... dim i as integer for i=1 to 1000000000000 next i ... компилит без проблем... и работает.... правда i вроде как инкрементится по кругу |
Автор: | Александр Ильин [ Среда, 14 Октябрь, 2009 20:16 ] |
Заголовок сообщения: | Re: ОТГОЛОСКИСИ :( |
ОТГОЛОСКИСИ чего? ilovb писал(а): работает.... правда i вроде как инкрементится по кругу Вы подождите подольше: число-то ведь не маленькое ; )
|
Автор: | ilovb [ Среда, 14 Октябрь, 2009 20:51 ] |
Заголовок сообщения: | Re: ОТГОЛОСКИСИ :( |
Александр Ильин писал(а): ОТГОЛОСКИСИ чего?...
|
Автор: | Александр Ильин [ Среда, 14 Октябрь, 2009 20:55 ] |
Заголовок сообщения: | Re: ОТГОЛОСКИСИ :( |
ilovb писал(а): Александр Ильин писал(а): ОТГОЛОСКИСИ чего?... |
Автор: | Geniepro [ Четверг, 15 Октябрь, 2009 07:42 ] |
Заголовок сообщения: | Re: ОТГОЛОСКИСИ :( |
ilovb писал(а): dim i as integer for i=1 to 1000000000000 next i Из документации следует, что если переменная объявлена так: DIM I AS INTEGER то она имеет тип 16-битное целое число (with a range of -32,768 to +32,767 ( -2^15 to 2^15 - 1)) Сделайте простенькую проверку в теле цикла, что-нить вроде if i >= 50000 then print i На это много времени уйти не может, компилятор же всё-таки... |
Автор: | ilovb [ Пятница, 16 Октябрь, 2009 17:44 ] |
Заголовок сообщения: | Re: ОТГОЛОСКИСИ :( |
Я выяснил причину Ничего там по кругу не инкрементится. Просто компилятор игнорирует старшие байты. По типу индексной переменной берет байты а остальные просто отбрасывает. Результат в итоге неоднозначный... Оказывается что можно даже так писать: dim a(5) as string a(10)="abracadabra" В этом случае все отработает тоже без ошибок. Но a(10) будет содержать ноль. Правда иногда, если обратиться опять же к левому индексу, элемент (несуществующий) массива может содержать какое нибудь значение. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |