Пятничная задачка - 5 байт...
Пятничная задачка - 5 байт...
Днями отчаялся объяснить одному ВБ-прогеру некоторые довольно несложные моменты в прожении.
Безуспешно. Т.е. еще раз подтвердил для себя, что использование ВБ калечит прогера и он не способен делать ничего сложного...
Но нет худа без добра - в процессе накопал немого материала для тяпничной задачки.
Дано: 5 байт.
Диапазоны значений (по байтам): [0-??][0-99][0-99][0-99][0-99]
Требуется - указать цифры под "??" и обосновать оные...
По имплементации судить тяжело
-----
По имплементации действительно судить тяжело. Ну на то она и пятничная задачка - чутка мозгу напрячь...
Особенно, если не понятно что за данные пересылаются.
Однако непонимание ВБ-прогера было связано с тем, что он прописал для тестирования 43-43-43-43-43, после чего не смог понять причину аритхметик оверфлов на сборке Интегер...
так и не осознал, бедолага, что 43 * 100.000.000 => оверфлов...
так непонятно с какой стороны напрягать
------
Так это и хорошо что непонятно - для того и задачка чтобы напрягать ВЕСЬ моговой объем...
откуда вдруг 100.000.000 взялось?
-----
Там у ВБ-прогера была длинная формула - множим, складываем, еще множим и еще складываем...
Пока Интегер не соберется...
И чем тебе так 42 понравилось только из-за этого 4 294 967 295?
------
А что-то еще должно быть?
-----
Неа...
Максимально, как Алех написал, - 42-94-96-72-95.
Чисто на программистской интуиции надо догадываться что там в 5 байт так перепаковано UInt32...
П.С. В протокол на предмет того что там пересылается Я тоже не смотрел...
Это у меня стресс...
3 дня обьяснял человеку КАК можно доехать из Дублина домой, чтобы было комфортно.
Заставил НАПИСАТЬ пошаговый вариант поездки - время, где и что делаем.
Посчитано было так, что нигде не надо было сидеть на дожде больше 10 минут.
Сейчас человек сидит на станции которая не упоминалась в поездке и будет сидеть там 4 часа.
При этом там нет ни одного места, кроме холодной станции, где можно пересидеть это время.
Вот через пару часов приедет - буду виноват в посиделках...
Упсс... опечатался - 100.000.000.000 - правильно вроде...
Это я неправильно нули подсчитал
42 94 96 7 2 95 1 00.00 0.0 00
Да, сложны пути ВБ-шников, когда то был на проекте весь пронизанный синглтонами, потому, что классно. Из любого места можно вызвать что угодно.
Однако непонимание ВБ-прогера было связано с тем, что он прописал для тестирования 43-43-43-43-43, после чего не смог понять причину аритхметик оверфлов на сборке Интегер...
В VB вроде можно явно указывать типы данных.
Меня это бесит в коллегах, которые все данные пакуют в строки, а потом, если нужно, парсят к нужному типу. И при этом еще аргументируют, что так дескать меньше вероятность ошибки
вроде можно-----
Можно. Можно даже кастить в процессе.
Но это не помогает поместить 33-битное значение в 32-битную переменную.
И основная проблема что данный момент практически невозможно обьяснить ВБ-шнику - там куча автоматического кастирования и деталями типов никто не заморачивается.
Мне даже обьясняли, что DIM есть эквивалент var. А эквивалента VAR - нету...