• Набор книг по железу и языку C?

    Для видеокарты вам придётся работать с конкретной моделью и отдельной фирмы. Универсальных нет. Наиболее открытые документации - у Intel и AMD на их же сайтах. Но для этого нужен куда больший опыт по программированию железа. Видеопроцессоры - очень сложные устройства.
    Для центральных процессоров достаточно много книг. Но вам надо начинать именно с микроархитектуры современных микропроцессоров. Такая книга называется.
    Чтобы легче понять C/C++ будет лучше, если начнёте с ассемблера. Потому что вся специфика C/C++ берёт своё начало оттуда. Особенно указатели. И модели памяти с представлением данных в компьютере тоже очень нужны. Множество вопросов о проблемах в программировании связано именно с этим. Книга "Архитектура компьютера Таннебаум " - это хорошее начало. Вам кажется, что это не то, но со временем все ответы на возникшие вопросы и проблемы лежат именно в этой книге и иже подобной.

    Я тоже хотел сделать что-то самое сложное. Но проблема в том, что не было достаточно знаний и опыта в этом деле. Просто начните с малого. Вам важно понять, как всё работает. Даже отлично подойдёт отладочная плата с микроконтроллером ARM с ОС RTOS. Таких примеров даже на русском языке предостаточно. Как поймёте, как они работают, тогда можете взяться за более сложное.
    Sic parvis magna.
    Ответ написан
    Комментировать
  • Почему не работают кортежи?

    Добавьте using System.ValueTuple. Всплывающее сообщение вам прямо подсказывает. В ссылках должен быть этот пункт: image009.png
    Ответ написан
    3 комментария
  • Как сделать аккумулятор для ноутбука?

    Можно оснастить ноутбук ядерной батареей.
    А если серьёзно, то можно это сделать. Правда, не знаю, как реализовано в аккумуляторном отсеке ноутбука. У каждой он свой. Надо изучить конкретную схему. Но есть более короткий путь - через разъём питания. Так и так можно. Я тогда на старом ноутбуке сделал просто питание без аккумулятора. А если на базе аккумулятора, то тут надо использовать литий-полимерные аккумуляторы. Их можно достать в Китае. В России, наверное, тоже можно найти. Остальное, надо смотреть на схемы.
    Ответ написан
    4 комментария
  • Извлечение элемента ComboBox в WPF?

    MessageBox.Show($"{((ComboBoxItem)((ComboBox)sender).SelectedItem).Content}");
    Для TextBlock:
    MessageBox.Show($"{((TextBlock)((ComboBox)sender).SelectedItem).Text}");

    Обновлено:
    Если нужно вытащить данные Run из TextBlock, то используем Inlines.
    MessageBox.Show($"{((Run)((TextBlock)((ComboBox)sender).SelectedItem).Inlines.ElementAt(0)).Text}");
    Ответ написан
    4 комментария
  • Как в C# перебрать колекцию Hashtable?

    Если он возвращает Hashtable, то согласно из сайта https://professorweb.ru/my/csharp/charp_theory/lev... перед этим надо сначала получить список ключей или значений. Foreach не может работать с парой - только либо с ключами, либо значениями.
    Ответ написан
  • Как правильно реализовывать события в С#?

    Я с недавнего времени использую такой короткий класс в своём проекте. А в начале было слишком много событий. Теперь гоняю через конкретные имена.
    public class Intercom
        {
            #region Обработка событий по изменению содержимых.
            public event PropertyChangedEventHandler PropertyChanged;
            private void NotifyPropertyChanged(string propertyName = "")
            {
                PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
            }
            #endregion
    
            #region Управление свойством.
            public string Message { get; set; } = "Null";
            public bool OnEvent { get; set; } = true;
            public void Reset() { Message = "Null"; }
    
            #endregion
    
            #region Внутренее свойство события.
            private int _Calling;
            private string _Response;
            private string _Request;
            private string _Report;
    
            public int Calling
            {
                get { return _Calling; }
                set { _Calling = value; if (OnEvent) NotifyPropertyChanged($"Call.{Message}"); }
            }
            public string Response
            {
                get { return _Response; }
                set { _Response = value; if (OnEvent) NotifyPropertyChanged($"Response.{Message}"); }
            }
            public string Request
            {
                get { return _Request; }
                set { _Request = value; if (OnEvent) NotifyPropertyChanged($"Request.{Message}"); }
            }
            public string Report
            {
                get { return _Report; }
                set { _Report = value; if (OnEvent) NotifyPropertyChanged($"Report.{Message}"); }
            }
            #endregion
        }


    А потом к нему подписываешься с помощью += <вызываемая функция>
    Ответ написан
    1 комментарий
  • Как вытащить конкретные данные в TemplateBinding?

    @AquariusStar Автор вопроса
    Отвечу на свой вопрос. Решение: Binding Path=Content.Port, RelativeSource={RelativeSource AncestorType={x:Type ListBoxItem}}
    Ответ написан
    Комментировать
  • Подходит ли Java для desktop и MS Office?

    Я в своё время изучал Java. Но тогда язык принадлежал Sun Microsystem. А когда Oracle приобрела Java, то я понял, что этот язык будет развиваться куда медленней. Достаточно посмотреть на OpenOffice. Если вы хотите реализовать графические изыски, то Java в этом направлении слабоват. (Не стоит путать с Java для Android, там вообще Oracle хочет поиметь с Google деньги за внесение изменений и адаптаций для нужд Android. В своё время Sun Microsystem не возражал такому подходу, и всячески поддерживал. Недавняя новость, что Google присоединился к проекту .NET Foundament. Есть основания полагать, что C# получит ещё большее распространение на Android. Да .NET Core является кроссплатформенным, что может добавить куда большей популярности C#.) У C# со своими WPF и UWP намного больше возможностей. Надо сказать, что C# очень активно развивается. Недавно C# получила версию 7.0, позволяющую программисту расширить возможности при создании программ.
    Ответ написан
    Комментировать
  • Какие есть понятные и хорошие учебники по C# для новичка?

    Можно поучиться по C# и WPF на сайтах: metanit.com и https://professorweb.ru. Там достаточно понятно. Остальное можно набраться знаний только в процессе практики программирования. Если учить сразу на Visual Studio, то столько запоминать не придётся: достаточно подсказок, чтобы понять, что делает та или иная функция, метод и прочее.
    Ответ написан
    Комментировать
  • Модель управления памятью в Linux все та же?

    1. Linux изначально использует плоскую модель FLAT, где указатели сегментов кода, данных и стека имеют одинаковый базовый адрес. А это означает, что сегментная организация памяти в Linux не используется. Это значительно упрощает перенос на другие платформы. Страничная организация памяти предназначена для создания виртуальной памяти. Это позволяет реализовать многозадачность куда проще. Существуют такие версии Linux, работающие без страничной памяти. Это нужно только для контроллеров, микроконтроллеров.

    2. Нет. x86-64 даёт только два регистра-сегмента для контекста, они нужны очень виртуальным машинам. Остальные регистры недоступно физически. Сегодня именно что все процессоры разбивают память на страницы. Всегда. Без страничной памяти нельзя работать. Ибо начнётся сильная фрагментация с тяжёлыми последствиями. Другое дело, когда страницы могут иметь разный размер для снижения размера таблицы преобразования адресов. Но они имеют чётко фиксированный размер.

    3. Таблицы дескрипторов имеют максимальный размер: 64 КБ - 8192 дескрипторов. Это написано во многих книгах. Существует глобальный, который всегда один, а есть локальный, который зависит от программ. А также прерываний.
    Ответ написан
    3 комментария
  • Как при наведении курсора на UserControl изменить свойства элементов внутри её?

    @AquariusStar Автор вопроса
    Проблема решилась. Оказалось, что ошибка типов в классе DependencyObject. А решение: вышеприведённый код.
    Ответ написан
    Комментировать
  • Как перевести число из десятичной системы счисления в уравновешенную троичную?

    На самом деле принят вот такой знак отрицательной единицы: ͞1. Ещё Брусенцов так писал. А переводится просто. Асимметричную троичную систему можно перевести в симметричную путём постановки: 2 → 1͞1. То есть переводим число 7 как 21, а затем арифметическим путём как 1͞10 + 001 = 1͞11. Возьмём для примера число 14 и переведём её в симметричную и уравновешенную систему. Число 14 в в асимметричной системе получим как 112, тогда получим следующее: 110 + 01͞1 = 1͞1͞1͞1. Или 17 - это 122 в асимметричном или 1͞10͞1 в симметричном. Для отрицательных реализуется очень просто. Сначала резервируем отрицательное значение. Преобразуем число как положительное, а в конце ряд тритов за счёт отрицательного знака инвертируем. Например: -17 - это ͞1111. Вот так и решается.
    Ответ написан
  • Какие алгоритмы хэширования файлов есть по ГОСТу 34.11-2012 на C#?

    Никакое. Ибо ГОСТ43.11-2012 и есть хеш-функция. Другое её название "Стрибог".
    Из статьи Вики: https://www.wikiwand.com/ru/ГОСТ_Р_34.11-2012
    Ответ написан