241 lines
7.5 KiB
Markdown
241 lines
7.5 KiB
Markdown
|
---
|
|||
|
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.
|
|||
|
<!--ID: 1706994861304-->
|
|||
|
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.
|
|||
|
<!--ID: 1708221293474-->
|
|||
|
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.
|
|||
|
<!--ID: 1706994861306-->
|
|||
|
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.
|
|||
|
<!--ID: 1708221293479-->
|
|||
|
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
|
|||
|
<!--ID: 1706994861325-->
|
|||
|
END%%
|
|||
|
|
|||
|
%%ANKI
|
|||
|
Basic
|
|||
|
What C logical operator corresponds to $\land$?
|
|||
|
Back: N/A
|
|||
|
Reference: Gries, David. *The Science of Programming*. Texts and Monographs in Computer Science. New York: Springer-Verlag, 1981.
|
|||
|
Tags: c17
|
|||
|
<!--ID: 1706994861327-->
|
|||
|
END%%
|
|||
|
|
|||
|
%%ANKI
|
|||
|
Basic
|
|||
|
What C logical operator corresponds to $\lor$?
|
|||
|
Back: N/A
|
|||
|
Reference: Gries, David. *The Science of Programming*. Texts and Monographs in Computer Science. New York: Springer-Verlag, 1981.
|
|||
|
Tags: c17
|
|||
|
<!--ID: 1706994861329-->
|
|||
|
END%%
|
|||
|
|
|||
|
%%ANKI
|
|||
|
Basic
|
|||
|
What C logical operator corresponds to $\Rightarrow$?
|
|||
|
Back: N/A
|
|||
|
Reference: Gries, David. *The Science of Programming*. Texts and Monographs in Computer Science. New York: Springer-Verlag, 1981.
|
|||
|
Tags: c17
|
|||
|
<!--ID: 1706994861331-->
|
|||
|
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
|
|||
|
<!--ID: 1706994861333-->
|
|||
|
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
|
|||
|
<!--ID: 1707774068116-->
|
|||
|
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
|
|||
|
<!--ID: 1707774068124-->
|
|||
|
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
|
|||
|
<!--ID: 1707774068132-->
|
|||
|
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
|
|||
|
<!--ID: 1707774068137-->
|
|||
|
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
|
|||
|
<!--ID: 1707774068142-->
|
|||
|
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
|
|||
|
<!--ID: 1707774068151-->
|
|||
|
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
|
|||
|
<!--ID: 1707774068161-->
|
|||
|
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
|
|||
|
<!--ID: 1707774068167-->
|
|||
|
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
|
|||
|
<!--ID: 1707774068173-->
|
|||
|
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
|
|||
|
<!--ID: 1707774068179-->
|
|||
|
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
|
|||
|
<!--ID: 1707774068186-->
|
|||
|
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
|
|||
|
<!--ID: 1707774068192-->
|
|||
|
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.
|
|||
|
<!--ID: 1707774068217-->
|
|||
|
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.
|
|||
|
<!--ID: 1707774068225-->
|
|||
|
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.
|
|||
|
<!--ID: 1707774068229-->
|
|||
|
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.
|
|||
|
<!--ID: 1707774068233-->
|
|||
|
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.
|
|||
|
<!--ID: 1707774068237-->
|
|||
|
END%%
|
|||
|
|
|||
|
## Bibliography
|
|||
|
|
|||
|
* Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016.
|