Ответы пользователя по тегу C++
  • Как исправить код?

    @fregate
    Пишу, думаю
    Тут больше похоже на чистый С
    для этого там используется getc() в цикле или gets()

    если же использовать c++, то std::cin >> input_string
    Ответ написан
    Комментировать
  • Жив ли самомодифицирующийся код?

    @fregate
    Пишу, думаю
    Выглядит, что сейчас это заменено машинным обучением и обработкой данных, полученных от работы клиента с ПО, обратно в систему.
    То есть игры, которые подстраиваются под ваш стиль прохождения или возможности. Или, например, DLSS 2.0 от NVidia, которая позволяет увеличивать картинку без видимых потерь качества, если разработчики натренируют алгороитм и тд
    То есть поведение меняется изза внешних каких-то факторов. Сами машинные инструкции не меняются. Я думаю, что в эту сторону эволюционировало все.
    Ответ написан
    2 комментария
  • Как с помощью QT вывести на монитор 10-битное изображение?

    @fregate
    Пишу, думаю
    partA = static_cast<uint8_t>((color &0xFF00) >> 8); // == 0 всегда
    partB = static_cast<uint8_t>(color &0x00FF); // 0..255

    за 1024 точки partB 4 раза проходит от 0 до 255 - по-этому вы видите 4 градиента.
    вы неправильно создаете его

    16 бит grayscale - значит, значение тона меняется от 0..65535, вам необходимо "сжать" этот диапазон в 1024 точки то есть каждая точка в горизонтали должна заполняться как-то так:
    for (ushort color = 0; color < 1024; color++)
          arr->append (color * 64);  // * 65536/1024

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