Ответы пользователя по тегу Программирование
  • Есть ли разница для компьютера: x**3 или x*x*x?

    gbg
    @gbg Куратор тега Программирование
    Любые ответы на любые вопросы
    Для таких вопросов есть специальный инструмент.

    Препод прав.

    При возведении в маленькую натуральную степень (2-30) компилятор может использовать векторные инструкции и получить результат очень быстро.

    При использовании pow() происходит вызов специальной подпрограммы (что является относительно медленным делом), которая делает гораздо больше арифметических действий ( и работает только с числами с плавающей запятой, что потребует преобразования int->double )
    Ответ написан
    Комментировать
  • Как включить порт RS232, выключенный программно на конвертере интерфейсов КИ-E/RC.04.32 от Icbcom?

    gbg
    @gbg Куратор тега Программирование
    Любые ответы на любые вопросы
    Стр 15 - сброс параметров до заводских настроек. Учтите, что настройки сбросятся ВСЕ.
    Ответ написан
  • Как сделать гербер файл в протеусе?

    gbg
    @gbg Куратор тега Программирование
    Любые ответы на любые вопросы
    Никак, это симулятор, а не EDA. Максимум, что вы можете сделать - это выгрузить из нее собственно электросхему в EDA.

    EDA, например, KiCAD, позволяют выполнить полный цикл разработки устройства - назначения реальных компонент, иx размещения, трассировки дорожек и выдачи файлов для производства - слоев гербера и файла сверловки.

    Граждане, которые рисуют платы в SprintLayout, без привязки к списку компонентов и списку цепей, конечно же, молодцы, но не стоит брать с них пример.
    Ответ написан
    Комментировать
  • Какого уровня мои познания о пк должны быть, чтобы понять эту статью?

    gbg
    @gbg Куратор тега Программирование
    Любые ответы на любые вопросы
    Процессор у денди - это восьмибитка MOS 6502 (она же стояла в Apple 1, 2, Терминаторе и роботе Бендере). В ней восьмибитные регистры, веселые танцы с бубеном для доступа к памяти за пределами форточки в 64кб (да и в пределах тоже), а также жесткая привязка к числу тактов на инструкцию (потому что каждая новая инструкция читается из памяти во время исполнения текущей).

    Стандартных высокоуровневых компиляторов C/C++ на этот антикварит практически нет, Васик, который тогда существовал - был супер-мега-тормозной. Зато есть энтузиасты, которые протравили кристалл процессора кислотой и создали вентильно-идентичный эмулятор процессора, что приятно.

    Игры писались на ассемблере. Врукопашную. Без понимания архитектуры железа на ассемблере написать ничего невозможно.
    Ответ написан
    2 комментария
  • Как работает аллокация памяти?

    gbg
    @gbg Куратор тега Программирование
    Любые ответы на любые вопросы
    Разрешено выделить память под некоторое количество переменных, которое не зависит от длины строки. Это вычурный способ запретить вам сделать копию строки, перевернуть ее и сравнить с оригиналом.
    Ответ написан
    8 комментариев
  • Как рендерят видео с множеством Мальдеброта?

    gbg
    @gbg Куратор тега Программирование
    Любые ответы на любые вопросы
    GLSL вероятнее всего, решит вашу проблему. При должном навыке прыжков с бубеном, можно даже организовать сжатие итогового видео на видеокарте.
    Ответ написан
    Комментировать
  • Массовое создание видео из фото?

    gbg
    @gbg Куратор тега Программирование
    Любые ответы на любые вопросы
    Да, man ffmpeg называется
    Ответ написан
    Комментировать
  • Какие есть альтернативные способы представления чисел в памяти?

    gbg
    @gbg Куратор тега Программирование
    Любые ответы на любые вопросы
    Да вагон таких попыток. GMP и аналоги представляют числа в виде дробей, количество знаков в числителе и знаменателе которых ограничено только объемом оперативки

    Программы символьной математики типа Maple, Maxima, Octave умеют хранить выражение в виде аналитической записи, то есть, умеют представлять всякие иррациональности точно (типа sqrt(2) он так и хранят как sqrt(2))

    Для практических инженерных вычислений, такая точность, очевидно, не нужна - там и float и double, как правило, хватает.
    Ответ написан
    1 комментарий
  • А где проводятся вычисления при работой с изображениями?

    gbg
    @gbg Куратор тега Программирование
    Любые ответы на любые вопросы
    Нельзя просто так взять и перенести вычисления на GPU - для этого (на 2021 год) программа должна разрабатываться отдельно, с учетом возможностей и структуры этого самого GPU.

    Главный плюс GPU - высокая степень параллельности на независимых данных. GPU может одновременно делать тысячи математических операций, при условии, что результат каждой из них не зависит от результата других - что часто встречается при обработке изображений - отсюда высокая скорость вычислений.

    Однако, GPU может работать только с теми данными, что загружены в видеопамять и результат записывает тоже только в видеопамять, а ее, как правило, меньше чем обычной RAM.

    Отсюда следует, что выиграть, считая на GPU, можно только тогда, когда данные независимы, хорошо умещаются в память видеокарты и успевают перекачиваться.
    Ответ написан
    2 комментария
  • Процессы работают на различных ядрах процессора или нет?

    gbg
    @gbg Куратор тега Программирование
    Любые ответы на любые вопросы
    Вы начнете с этим сталкиваться, когда дело дойдет до больших (реально больших) серверов с большим количеством сокетов и NUMA.

    Там вам придется учитывать разные факторы - что процессы желательно жестко запинить на ядра, чтобы они не скакали между регионами, что память, подключенная физически к одному процессору вам конечно доступна с другого процессора, но ценой транзакций по QPI и еще какой шине.

    Короче, пока у вас для экспериментов писюк/ноутбук, для вас все будет одинаково, не задумывайтесь об этом.
    Ответ написан
    Комментировать
  • Возможно ли программно написать часы без использования библиотек?

    gbg
    @gbg Куратор тега Программирование
    Любые ответы на любые вопросы
    Можно, если в стандартной библиотеке вашего ЯП есть функции получения значения с часов реального времени, или хотя бы измерения реального времени, прошедшего с какого-то момента.
    Ответ написан
    Комментировать
  • Есть ли возможность программно определить параметры CPU, GPU?

    gbg
    @gbg Куратор тега Программирование
    Любые ответы на любые вопросы
    Да, есть. Иначе как бы работали CPU-Z и аналоги.
    Ответ написан
    Комментировать
  • Название игр для изучения програмирования?

    gbg
    @gbg Куратор тега Программирование
    Любые ответы на любые вопросы
    Colobotcomment_5fZq5pHdpxWXKFxkLNO94MntW3GesJDg
    Ответ написан
    Комментировать
  • Как подключить к микроконтроллеру дисплей?

    gbg
    @gbg Куратор тега Электроника
    Любые ответы на любые вопросы
    Похоже на лаборатору какую-то.

    Расскажу, как это делал я, дело было 10+ лет назад. Контроллер был AVR, но сути дела это не меняет.

    Я учился, старался дойти до сути своей головой, а не делать фигакпродакшн. Сначала я раздобыл дисплей WS1602. Это знакосинтезирующий дисплей, то есть, в него надо посылать коды символов, которые он нарисует на экране. Я раздобыл даташит на него, в котором были перечислены последовательности сигналов для управления дисплеем.

    Так как программу проще отлаживать на взрослом компе, я написал развесистую кучу абстракций на C++, которая отправляла байты в LPT порт, к которому был прицеплен дисплей. Так у меня появилось понимание, как управлять дисплеем и надежно работающий стенд.

    Потом тот же код я откомпилировал под AVR, благо там были шаблоны и бинарный код был легковесен - и получил работающий дисплей с микроконтроллером.

    Проект был аналогичный - анализатор спектра звукового сигнала + цветомузыка, но на AVR, до 16 кГц.
    Точно также, я использовал БПФ - для того, чтобы не считать половину преобразования впустую (спектр мощности действительного сигнала будет симметричен относительно своей середины), я применил трюк - сразу при съеме с АЦП домножал отсчеты на доворачивающие множители, что позволило мне сэкономить память и вычисления двухкратно. Ну и использовал арифметику с фиксированной точкой, чтобы уложиться в нужное количество тактов между съемами с АЦП - пока заполняется очередное окно БПФ, контроллер должен был обсчитать предыдущее и выдать его на экран.

    Потом был процесс отладки - я нашел программу - генератор синусоидальных сигналов, отдавал их на свою поделку и смотрел на экран - появляется ли в нужном месте палка, движется ли она при качании частоты генератора.

    На все про все у меня ушло два интереснейших месяца.

    Я думаю, вы можете либо пойти тем же путем, либо нагуглить нужные библиотеки и собрать их в кучу - но не факт, что это будет работать, и при том верно.
    Ответ написан
    Комментировать
  • Как уже на собеседовании понять, какое в компании качество кода?

    gbg
    @gbg Куратор тега Программирование
    Любые ответы на любые вопросы
    Вопрос эквивалентен следующему "как уже по фотке в Тиндере понять, что парень не мудак, 19 советов от Космо".

    Никак. Названные здесь признаки будут лишь косвенно отвечать на вопрос о мудаковатости кода в организации.

    Лучше получится, если вы изобретете "шкалу" или "дейтинг-бинго" и будете таким образом делать интегральный скоринг организации работы в компании. Однако, это в любом случае не валидный тест - может быть как ложноположительный, так и ложноотрицательный результат, хоть и с меньшей вероятностью явной лажи.

    Как многие уже тут заметили, мудаковатость, извините, говнокод, есть в любом более-менее живом проекте, иначе получается тоскливый налет полной предсказуемости и отсутствия рисков - что это за бизнес такой, где не нужны решения "вчера", где никто не проверяет концепцию быстрым тяп-ляпом по дендрофекальной технлогии? Дайте два, я тоже так хочу!

    Для справки, в случае с мужиками, такое чудо называется manicorn, в природе, как следует из названия, не водится.

    Адекватен вариант с отысканием некой точки равновесия, при которой и вы довольны своей работой, и заказчик не мечет кабачковой икрой во все стороны, не дождавшись, пока вы в сто первый раз разровняете под линейку все фигурные скобочки. А это, увы, проверяется практикой, которая без испытательного срока, увы, не доступна.
    Ответ написан
    Комментировать
  • Как правильно генерировать промокоды?

    gbg
    @gbg Куратор тега Программирование
    Любые ответы на любые вопросы
    pwgen справится с этим
    Ответ написан
    Комментировать
  • Как управлять сторонней программой на ПК?

    gbg
    @gbg Куратор тега Программирование
    Любые ответы на любые вопросы
    Можно эмулировать действия пользователя.
    Если разработчики программы предусмотрели API, можно пользоваться этим API
    При особом желании, можно внедрить в программу свою DLL и что-то там подергать, но в некоторых случаях, это запрещено лицензией.
    Ответ написан
    1 комментарий
  • Существует ли асинхронный файловый IO?

    gbg
    @gbg Куратор тега Программирование
    Любые ответы на любые вопросы
    Да, существует. DMA, вот это вот все.
    Ответ написан
  • Как проще написать интерфейс для математических вычислений?

    gbg
    @gbg Куратор тега Программирование
    Любые ответы на любые вопросы
    Я такую же задачу решал так (и уравнение эллиптическое) - формула записывалась в программу на фортране, потом компилировалась и в виде разделяемой библиотеки присоединялась к программе. Никаких накладных расходов.

    Если вы работаете с GPU, целесообразние и формулу считать на GPU
    Ответ написан
    Комментировать
  • Как воспроизвести видео в браузере на сервере nodejs?

    gbg
    @gbg Куратор тега Программирование
    Любые ответы на любые вопросы
    3 комментария