Действительно ли булева алгебра ДЕЙСТВИТЕЛЬНО необходима для программирования на ассемблере?

Мне нужно знать, потому что я нахожу все это запутанным. Я сейчас нахожусь в классе алгебры колледжа, хотя некоторая булева алгебра кажется довольно простой (коммутативность, ассоциативные свойства и т. Д., Т.е. базовая алгебра). Я читал "Искусство программирования на ассемблере", но потом я прочитал главу о булевой алгебре и разочаровался. Автор использует то, что я считаю "произвольными" символами для своих операторов, хотя я не знаю, какие операторы являются обычными. Я привык к C++!, && и || операторы для операций NOT, AND и OR соответственно. В электронной книге есть опечатки и другие вещи, которые затрудняют чтение.

Дело в том, является ли эта глава абсолютно необходимой для изучения? Есть ли какие-нибудь книги по программированию сборок x64 для начинающих? Этот компьютер имеет 64-битный процессор AMD. Я читал Программирование с нуля, но это для Linux. Я мог следовать этому, потому что его легче читать, но я попытался скомпилировать пример, но он не сработал. Даже с изменениями в коде, чтобы сделать его совместимым с Windows, не нужно играть в кости.

2 ответа

Решение

Да, это очень важно понять. Булева алгебра используется для реализации аппаратного обеспечения, а также отвечает за многие операции сборки. && - это И, || это или,! нет и т.д. Google таблицы правды для всех этих, они очень просты. Вам нужна только простая основа, чтобы понять операции так, как вы их видите.

Я бы сказал, что основы булевой алгебры необходимы, по крайней мере, для понимания каждого программиста, независимо от языка программирования.

Это дает вам возможность:

  • эффективно управлять битами и битовыми полями
  • оптимизировать выражения (например, (a and b) or (c and b) знак равно (a or c) and b; Кстати, если вы замените and с * а также or с +, вы получите то же самое, что и в вашей обычной алгебре)
  • оптимизировать код
  • понимать чужой код
Другие вопросы по тегам