Задать вопрос
  • Ассемблер, почему дизассемблированном коде много ненужных операций?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Почему не переписать вместо этого
    add ebx,dword ptr [rbp+ECX*4+10h]

    Буквально так написать нельзя, потому что нет такого режима адресации в котором можно было бы использовать вместе Rbp (64-битный) и Ecx (32-битный). Можно было бы написать add ebx,dword ptr [rbp+rcx*4+10h], но для этого счётчик цикла должен был бы быть 64-битным, а он, как мы видим, 32-битный (int i). Т.е. ответ на вопрос "для чего это": для беззнакового расширения 32-битного счётчика цикла в регистр, который можно использовать для доступа к памяти.

    Другое дело, что из исходного кода очевидно, что при обращениях к памяти i не выходит из диапазона 0..9, так что разницы между ecx и rcx нет и не может быть. Возможно я что-то упускаю и у компилятора другое мнение на этот счёт, но может быть он просто туповат и не имеет кода который бы мог использовать эту возможность оптимизации, а может такая оптимизация и есть, но она не была включена во время генерации этого кода.
    Ответ написан
    Комментировать
  • Из-за чего могут появляться белые прямоугольники в шахматном порядке на мониторе?

    ZERGeich
    @ZERGeich
    1. Проверить видеопамять чем-то типа MATS
    2. Проверить оперативку чем-то типа memtest86
    3. Комплектующие из магазина - не показатель их работоспособности.
    4. Погонять стресс-тесты на память и видео со съёмом показателей вольтажа и температуры
    5. Попробовать откатить дрова на более старые, но обязательно от производителя
    Ответ написан
    1 комментарий
  • Из-за чего могут появляться белые прямоугольники в шахматном порядке на мониторе?

    Alex_Geer
    @Alex_Geer
    System Engineer
    89% что какой то чип памяти сбоит, мб термопрокладки потекли и залили память.
    Ответ написан
    Комментировать
  • Firewall для Android?

    @Redeve
    Веб-макаке не хватит и 640гБ
    AFWall - с рутом
    NetGuard - без рута
    AdGuard
    Третий понятно по названию предназначен для борьбы с рекламой, но можно вручную поотключать фильтры и оставить работать как фаерволл. Умеет работать с рут и без
    У всех есть логи, выборочный запрет приложениям выходить в сеть и уведомления о попытках достучаться до ББ
    Ответ написан
    3 комментария
  • Что означают эти сигналы bios?

    nava2002
    @nava2002
    Инженер
    Вот матириал
    учитывая что отказ не устойчивый, то очень похоже на плохой контакт в разьеме. А начать рекомендую с проверки батарейки.
    Ответ написан
    Комментировать
  • Как сортировать ячейки?

    Dr_Elvis
    @Dr_Elvis
    В гугле забанен
    У вас в ячейке текст. Значит сортировка идёт по правилу текста, а не цифр. Чтобы отсортировать так, как вы хотите - нужно отделить цифру от текста, например на ячейку ниже, и сортировать по ячейкам с цифрами.
    Ответ написан
    Комментировать
  • Из-за чего установка windows с флешки крайне медленная?

    Adler_lug
    @Adler_lug
    Почти уверен, что это из-за полумертвого SSD. После его отключения скорее всего тормоза пройдут.
    Ответ написан
    Комментировать
  • Какой open source проект написан на труъ Си++?

    @Drno
    Если коллегам ненравится что то - пусть объяснят и покажут что.
    В иных случая - неипёт
    Ответ написан
    Комментировать
  • Почему ПК намертво зависает?

    @Mikeoldfield
    Сетевой инженер / системный администратор
    Проверь диск для начала. CristalDiskInfo хотя бы
    Ответ написан
    1 комментарий
  • Рекурсия.По какой причине ответ всегда 0?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Учитесь писать красиво. Вместо нагромождения вложенных if/else используйте ранний выход из функции.
    float power(float X, int N) {
        if (N == 0) {
            return 1;
        }
        if (N < 0) {
            return 1. / power(X, -N);
        }
        if (N % 2 == 0) {
            float b = power(X, N / 2);
            return b * b;
        }
        return X * power(X, N - 1);
    }
    Ответ написан
    Комментировать
  • Как найти геометрическую прогрессию в списке?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Берём первые два числа списка. Они образуют геометрическую прогрессию с x0 = a[0] и k = a[1]/a[0].
    Прогрессия найдена.
    Ответ написан
    Комментировать
  • Можно ли командой удалить все метаданные у файлов?

    да можно
    Вт так
    sudo apt-get install libimage-exiftool-perl
    find . -type f -regex ".*\.\(jpg\|jpeg\|gif\|png\|JPG\|JPEG\|GIF\|PNG\)"  -exec grep -rl base64 {} \; -exec exiftool -all= {} \; -exec rm '{}_original' \;

    соответствено вместо find . можно поставить путь до сайта find /var/www/site.ru ну или запустить команду внутри папки.
    и на сладкое
    Оптимизация картинок
    Ответ написан
    2 комментария
  • Как увеличить угол излучения ИК-светодиода?

    @nehrung
    Не забывайте кликать кнопку "Отметить решением"!
    1. Какой-то особо специальный светодиод искать не надо. Посто выпаяйте диод из любого пульта от любого (даже не очень современного) ТВ или видака, они все примерно одинаковые в том смысле, какой для вас интересен.
    2. Уровень выходного ИК-сигнала любого пульта нетрудно проконтролировать чисто зрительно, с помощью любого современного мобильника, имеющего на спинке глазок фотокамеры, поскольку эти фотокамеры, как правило, хорошо видят ИК. Направьте на глазок камеры ваш пульт, нажмите на нём любую кнопку и наблюдайте на экране мобилы яркие (ну или не очень яркие) вспышки ИК-импульсов.
    jJ7AMdNWqQ9NIDISxOkphxx3VqhfnmZu-O9M2qafx89YbdxM5ZTlz-8bO1etBninTQWhMcXI0IT1hojDElslAsWTgSTjOtAzZSQyHvDNRaMAW3aUf442cvGOELa3_tP-FBmZPMVhQBdnhpKqLOe9Zq146FS0ifzksd8gNyfOWKOE5oxJf758gyXU5_I0yXlP4I5GmB8XEmsU49WGO3razhg1hIlV2Wiro84iEiwP5VaBlGDM5LnVhHFL6N63RlQHlAJMScMmNN81PNOyuOVB27gySqRjp17jWHOFCg9iNi7YUUz5WZUYB7deqr4wo0mqSVDgrJQttZAp77hqN6bgR7AKSG3f2vzv3RQ3goSlsZ88DjLAh8cGa7yDfSZ7UiKakLlQYRE9AMujrsZ2LKc1zgEEiLBowZmIoZ9U1psqQLcs9pwlSzJ8g1HkI7r0pRVHXIZWeJsb1vOMW5n2E_rW0ljV9JGJhSgbu4LKXkx7Kco9yKxcPA2tnCnT5Irj1tD7aMr0uf-KUANlYC8asN0Ft7x-Khxrw46PuJ-1-pNqUs608fz9BRmYjy8uCgJQK33-xcw00JR9XdQtAxSao4qgQ4ziyLEPUlgjVQCfQoBpWbMwjsakGwuCh-Dn5R57zvZG6BH8eTkxJJe7KkKSbGtx8imExAgMkfnQUY98ig82sHfgEgA5d1psC-GIG86U1Qmb4J7eJH8nRoOgX5FuE6q-0lyxlJHZgbhDNxpSHswX4cq9_AgwgDWhiCEvlIazrjzHNPbg0ZMOOL9xEOuOyOml_yDSiozvB0LvABO5-qfq2oq4nQx9kRXwL6e68lrUkxVqDbgsyHyZ3Zy16zjGz5IUyxwiUOkXwqA7RSC3ohxRlVMgfvqM6_O6q4Cr0YJjVka-HBH8iZld8I8vHs6O2Ne9Bkl4dNSsvbVMTbfY4kNqRMcsbgRdG15ge2UApwYY-ZlLyP76CFdDkucUn_VmF16E
    Таким способом можно не только определить работоспособность, но и прикинуть как силу сигнала, так и ширину диаграммы направленности пульта. Можно также зрительно сравнить силу выходного сигнала вашего старого пульта с сигналом от современных пультов.
    3. Ваша проблема в том виде, как вы её описали, может заключаться вовсе не в ширине диаграммы направленности пульта, а в ширине диаграммы направленности приёмника ИК-сигнала на вашем девайсе, и это тоже обязательно надо проверить. Направьте пульт точно на глазок приёмника точно по его оси, нажмите кнопку на пульте и убедитесь, что команда передалась. Затем повторяйте это, отклоняя пульт от оси глазка приёмника, но по-прежнему держа его направленным точно на этот глазок (т.е. несколько сбоку, и всё больше сбоку). Зафиксируйте, какой угол отклонения пульта от оси глазка приёмника приведёт к прекращению передачи команд - это и будет искомый угол ДН приёмника. Вполне возможно, что слишком узок именно он, а не ДН пульта.
    4. Обязательно проверьте, нет ли у приёмника банального запыления глазка - при многолетнем нахождении в квартире это весьма вероятно.
    Ответ написан
    3 комментария
  • Почему диск загружен на 100% процессом system в Windows 10?

    @m0hn
    На всякий случай проверьте смарт HDD.
    Ответ написан
    Комментировать
  • Функция замен символов VBA?

    ProgrammerForever
    @ProgrammerForever Куратор тега Excel
    Учитель, автоэлектрик, программист, музыкант
    Если не морочться с регулярками (а по идее, надо бы), то достаточно поменять строку
    Worksheets("Sheet1").Range("A" & i) = Replace(xcell, " ", x)

    на что=-то вроде
    xcell = Replace(xcell, ".", x)
    xcell = Replace(xcell, ",", x)
    xcell = Replace(xcell, "(", x)
    xcell = Replace(xcell, ")", x)
    xcell = Replace(xcell, " ", x)
    Worksheets("Sheet1").Range("A" & i) = xcell


    Но вообще, как и говорил, лучше подключить регулярки (это минутное дело) и использовать их
    Вот, например, статья на русском
    Ответ написан
    Комментировать
  • Как установить Windows 7/10 на старый компьютер с Windows XP?

    @Drno
    вставить дисковод
    установить с диска

    правильный вариант - не занимайтесь фигней, все равно будет всё тормозить

    А зачем надо вин7 то?)
    Ответ написан
    2 комментария
  • Как правильно вывести массив символов?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    проблема в том, что вместо массива символов программа выводит просто пустую строку.

    программа выводит пустую строку, потому что в tmp -- пустая строка. Потому что i = strlen(str) помещает в i индекс 0-терминатора строки str, а не последнего символа перед ним. И в конце строки tmp сейчас нет 0-терминатора, так что puts(tmp) выведет мусор после перевёрнутой строки, если поправить инициализацию i.
    Ответ написан
    3 комментария
  • Как по клику по строчке показывать определенные данные?

    Tolly
    @Tolly Автор вопроса
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        If Intersect(Range("D5:E9"), Target) Is Nothing Then Exit Sub
        Range("B1").FormulaLocal = "=ВПР(B" & ActiveCell.Row & ";клиенты!A:C;2;0)"
        Range("C1").FormulaLocal = "=ВПР(B" & ActiveCell.Row & ";клиенты!A:C;3;0)"
        Range("B2").FormulaLocal = "=ВПР(C" & ActiveCell.Row & ";менеджеры!A:C;2;0)"
        Range("C2").FormulaLocal = "=ВПР(C" & ActiveCell.Row & ";менеджеры!A:C;3;0)"
    End Sub
    Ответ написан
    Комментировать
  • Системный блок и периферия "щипаются" без заземления – как бороться?

    @nehrung
    Не забывайте кликать кнопку "Отметить решением"!
    Правильно lonelymyp диагностировал вашу проблему - она в этих двух противопомеховых конденсаторах, которые подключены между проводами электросети и корпусом блока питания компа:
    kqqy1kdo.jpg
    Из-за них на корпусе имеется напряжение в половину сетевого, т.е. 110 вольт. Ток, конечно, через них маленький, но пощипать хватает.
    А вот его рекомендация, что с этим делать, неполна. Неправы и остальные, кто отвечает, что с этим ничего не поделаешь. Устраняется элементарно: надо вскрыть БП компа, найти эти конденсаторы, и либо отпаять их, либо отключить их среднюю точку от корпуса (например, подрезав соответствующий печатный проводник). Нормальную работу БП это не нарушит, может лишь несущественно возрасти уровень ВЧ-помех от компа. Зато пощипывание исчезнет. Совсем. Без заземления и резиновых ковриков.
    Ответ написан
    1 комментарий