--- title: Boolean Algebra TARGET DECK: Obsidian::STEM FILE TAGS: logic::boolean tags: - logic - boolean --- ## Overview **Boolean algebra** refers to an algebraic system characterised by a set of axioms. This is something I'll explore further, probably after reading more on abstract algebra. The basic operations of Boolean algebra are negation ($\neg$), conjunction ($\land$), and disjunction ($\lor$). %%ANKI Basic What name is given to $\land$ operands? Back: Conjuncts Reference: Gries, David. *The Science of Programming*. Texts and Monographs in Computer Science. New York: Springer-Verlag, 1981. END%% %%ANKI Basic What set operation parallels conjunction? Back: $\cap$ Reference: Gries, David. *The Science of Programming*. Texts and Monographs in Computer Science. New York: Springer-Verlag, 1981. END%% %%ANKI Basic What name is given to $\lor$ operands? Back: Disjuncts Reference: Gries, David. *The Science of Programming*. Texts and Monographs in Computer Science. New York: Springer-Verlag, 1981. END%% %%ANKI Basic What set operation parallels disjunction? Back: $\cup$ Reference: Gries, David. *The Science of Programming*. Texts and Monographs in Computer Science. New York: Springer-Verlag, 1981. END%% %%ANKI Basic What C logical operator corresponds to $\neg$? Back: `!` Reference: Gries, David. *The Science of Programming*. Texts and Monographs in Computer Science. New York: Springer-Verlag, 1981. Tags: c17 END%% %%ANKI Basic What C logical operator corresponds to $\land$? Back: There isn't one. Reference: Gries, David. *The Science of Programming*. Texts and Monographs in Computer Science. New York: Springer-Verlag, 1981. Tags: c17 END%% %%ANKI Basic What C logical operator corresponds to $\lor$? Back: There isn't one. Reference: Gries, David. *The Science of Programming*. Texts and Monographs in Computer Science. New York: Springer-Verlag, 1981. Tags: c17 END%% %%ANKI Basic What C logical operator corresponds to $\Rightarrow$? Back: There isn't one. Reference: Gries, David. *The Science of Programming*. Texts and Monographs in Computer Science. New York: Springer-Verlag, 1981. Tags: c17 END%% %%ANKI Basic What C logical operator corresponds to $\Leftrightarrow$? Back: `==` Reference: Gries, David. *The Science of Programming*. Texts and Monographs in Computer Science. New York: Springer-Verlag, 1981. Tags: c17 END%% %%ANKI Basic What C bit-level operator corresponds to $\neg$? Back: `~` Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. Tags: binary c17 END%% %%ANKI Basic What C bit-level operator corresponds to $\land$? Back: `&` Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. Tags: binary c17 END%% %%ANKI Basic What C bit-level operator corresponds to $\lor$? Back: `|` Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. Tags: binary c17 END%% %%ANKI Basic What C bit-level operator corresponds to $\oplus$? Back: `^` Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. Tags: binary c17 END%% %%ANKI Basic What is the value of `~0b00001111`? Back: `0b11110000` Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. Tags: binary c17 END%% %%ANKI Basic What is the value of `0b00001111 & 0b11111111`? Back: `0b00001111` Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. Tags: binary c17 END%% %%ANKI Basic What is the value of `0b00001111 | 0b11111111? Back: `0b11111111` Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. Tags: binary c17 END%% %%ANKI Basic What is the value of `0b00001111 ^ 0b11111111`? Back: `0b11110000` Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. Tags: binary c17 END%% %%ANKI Basic How do bit vectors represent finite sets? Back: A `1` bit-value indicates membership at the given index. Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. Tags: binary END%% %%ANKI Basic What C bit-level operator corresponds to set complement? Back: `~` Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. Tags: binary c17 set END%% %%ANKI Basic What C bit-level operator corresponds to $\cup$? Back: `|` Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. Tags: binary c17 set END%% %%ANKI Basic What C bit-level operator corresponds to $\cap$? Back: `&` Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. Tags: binary c17 set END%% %%ANKI Basic What is a bit mask? Back: A bit pattern that selects certain bits of a data type. Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. END%% %%ANKI Basic What hexadecimal bit mask returns the least significant byte of a word? Back: `0xFF` Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. END%% %%ANKI Basic What portable expression yields a mask of all ones, regardless of data type? Back: `~0` Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. END%% %%ANKI Basic Why might you prefer `~0` over e.g. `0xFFFFFFFF`? Back: The former is independent of data type. Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. END%% %%ANKI Basic Given `int32_t x = 0x89ABCDEF`, what is the value of `x & 0xFF`? Back: `0x000000EF` Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. END%% ## Bibliography * Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016.