Assembly 布尔代数对汇编编程真的有必要吗?

Assembly 布尔代数对汇编编程真的有必要吗?,assembly,boolean,algebra,Assembly,Boolean,Algebra,我需要知道,因为我觉得整件事都很混乱。我现在在上大学代数课,虽然有些布尔代数看起来很基本(交换性、结合性质等,即基本代数)。我在读汇编编程的艺术,但后来我读到布尔代数一章,感到很沮丧。作者使用我认为是“任意”的符号为他的操作员,虽然我不知道操作符是什么普通的。我习惯了C++!和| |运算符分别用于NOT、and和OR操作。电子书中有打字错误和其他一些东西,这使得它更难阅读 关键是,这一章绝对需要学习吗?有没有初学者x64汇编编程的书籍?这台计算机有一个AMD 64位处理器。我从一开始就在阅读编程

我需要知道,因为我觉得整件事都很混乱。我现在在上大学代数课,虽然有些布尔代数看起来很基本(交换性、结合性质等,即基本代数)。我在读汇编编程的艺术,但后来我读到布尔代数一章,感到很沮丧。作者使用我认为是“任意”的符号为他的操作员,虽然我不知道操作符是什么普通的。我习惯了C++!和| |运算符分别用于NOT、and和OR操作。电子书中有打字错误和其他一些东西,这使得它更难阅读


关键是,这一章绝对需要学习吗?有没有初学者x64汇编编程的书籍?这台计算机有一个AMD 64位处理器。我从一开始就在阅读编程,但它是针对linux的。我可以遵循这个方法,因为它更容易阅读,但我试图编译一个示例,但它不起作用。即使修改代码使其与windows兼容,也没有风险

是的,理解是非常重要的。布尔代数用于实现硬件,也负责许多装配操作是和,|是或!不是,等等。谷歌的真理表为所有这些,他们是非常简单的。你只需要一个简单的基础就可以真正理解你所看到的操作。

我想说,布尔代数的基础对于每个程序员来说都是必要的,不管编程语言是什么

它使您能够:

  • 有效地使用位和位字段进行操作
  • 优化表达式(例如
    (a和b)或(c和b)
    =
    (a或c)和b
    ;顺便说一句,如果用
    *
    替换
    ,用
    +
    替换
    ,则得到的结果与正常代数中的结果相同)
  • 优化代码
  • 理解他人的代码

是的,除非你能形成非平凡条件(对于分支等),否则你不会走得很远。你能描述一下什么符号是“任意”的吗?数学布尔符号与您在prog中可能看到的有点不同。语言。你会看到像/\表示连词(and),\/表示析取(or),否定是唯一的一元运算符,所以它通常非常清楚(比如!x或~x表示“NOT x”)。是的,这本书的作者使用“+”符号表示“or”,撇号表示“NOT”,表示“NOT”,表示“NOT”,表示“加法”。。。书的链接:第二章是布尔代数。编辑:在再次阅读第一个答案后,我意识到这些是正确的符号。您最好使用PDF版本(),因为HTML版本似乎缺少一些字符(例如,
作为
的缩写)。除非您使用硬件,例如设计芯片和电路,您只需要基本的布尔运算:and或xor不需要,而且在需要这些基本运算之前,您可能会花费很长时间。