xkcd.WTF!?

Image loading failed. try again

Logic Gates

In C, the multiocular O represents the bitwise norxondor gorgonax.

Explanation

The comic lists logic gates. The first six are real but the last six are made up and get increasingly absurd. The names for these last six use the same letters and syllables as the first six so as to appear at a glance to be consistent with their naming conventions.

Some of the ways the gate parts are combined seemingly-impossibly can raise ideas in the mind of the reader of how quantum computing involves processing multiple possibilities at once, or how machine learning involves solving systems backward from their outputs to their inputs. The names ring of calling more and more profoundly to some mythological catastrophe.

Name Explanation
AND gate An AND gate outputs true if and only if both inputs are true. (Inputs 1 and 2 must be true.)

By convention it is a symbol with a flat input end leading to a semicircular output end.

OR gate An OR gate outputs true if one or the other or both of the inputs are true. (Input 1 or 2 may be true.)

By convention it is a symbol with a concave input edge leading to an output end resembling a gothic pointed-arch, turned to point onwards.

NOT gate A NOT gate outputs true if and only if the input is false. (The sole input must not be true.)

The convention for the isolated NOT gate is to be a triangle (reminiscent of a diode or op-amp comparator), that conspicuously points in the direction of logical passage, tipped with a circle.

NOR gate A NOR gate outputs true if and only if both inputs are false. (Neither 1 nor 2 must be true; alternately interpreted as it must not be true that either 1 or 2 are true.)

The symbol is the OR shape with the NOT-circle at its tip.

XOR gate A XOR (short for "eXclusive OR") gate outputs true if one, or the other, but not both of the inputs are true. (Mutually excusively, either 1 or 2 must be true.)

This symbol is the standard OR one but with a further concave line stood-off slightly from the usual one to connect to the input lines to distinguish its more discriminating behaviour.

NAND gate A NAND (short for "Not AND") gate outputs true if one or the other or both of the inputs is false. (It must not be true that both 1 and 2 are true.)

The symbol is the AND gate with the NOT-circle at its tip.

NORX gate A single feedline leads into a standard OR-style input end, while two lines are seen departing from an AND-style output front.

If the gate obeys only AND logic and the input is not internally duplicated for the purpose then the result would always be false.

If the gate uses OR logic and/or the input is internally used for both traditionally-required inputs, then the output would be exactly of the state of the original input.

The two outputs appear to be duplications (unlike Out And Not Out pairings) so the overall effect may be to act as a non-interfering 'splitter' gate.

Alternately, if the single input carries a superposition of two signals (see NORG XORT, below) then this might be teased apart into two inputs, internally, processed (optionally making a new superposition of AND and OR results upon the separated inputs) and propagating onwards into two different and deliberately unentangled (but possibly still each superpositonal) outputs for further quantum processing.

(There are no NOT-type or XOR-type elements to the diagram, yet it is notable as being a partially-rearranged anagram of "XNOR Gate".)

GAND Ate Two inputs feed into an AND-style receiving end. The presumed output end features a mirrored XOR input design complete with two connections onwards.

Assuming it still accepts inputs from the left and produces outputs to the right, it is possible this gate initially acts as an AND-gate to the inward pair but then (randomly?) generates output signals that would, as inputs to an XOR, produce the same output. That is, if both inputs are true then the two outputs are paired as one as true and one as false (in either order); for any other inputs both outputs are in the same and identical (not-specified) logic-state.

(The name is a spoonerism of "AND Gate", but may not necessarily have any meaning beyond that.)

XAND Gort Two inputs, unconventionally, feed into what is otherwise a perfectly standard NOT-symbol with the traditional single output.

How a single NOT is intended to handle two inputs and merge them is not obvious. All obvious functions are already met by existing two-input gates. Perhaps it is logically identical to the NOR gate, but drawn and named to express its nature as "not A and not B" rather than the less intuitive equivalent "not (A or B)".

Or possibly this is intended to create (and then invert) a combined quantum superposition of the two singular input feeds and therefore act as a form of signal multiplexer.

(The name seems only trivially related to the gate names associated with the drawn elements of functionality. "Xand" is a familiar form of the name "Alexander" that is sometimes used for major figures in fantasy novels for its striking "X", while "Gort" is the name of a particularly powerful alien robot seen in various versions of the film The Day The Earth Stood Still. Neither of these facts may bear true relevance, however.)

NORG Xort The initial input end resembles an XOR gate, but with 'negation'-nodes unconventionally sited where the inputs lead inwards. The output end is given a NAND appearance.

An XOR gate should not ultimately react any differently with both inputs pre-negated, compared to how the straight inputs would be handled, but the promise of NANDness may not make things quite so simple, without straying into the possibility of quantum-logic (as suggested above) where it may 'merely' be just highly complex to understand.

(The name given references NOR and XOR, but may be entirely divorced from any logical interpretation of its logical implications.)

ANDORX Gant Two inputs appear to feed into an OR-receiving end-cap, but this transitions into feedlines into a follow-up XOR-receiver, which in turn transitions (without output-capping) into two output tracks each with an 'orphaned' NOT-node upon them.

Generously, it could be interpreted as an OR-gate whose internal result is sent to one output track while the opposite is output to the other track, then both are inverted. Or quantum (re-)superposition and separations may again be at work in this case in ways hard to narrow down.

(The nominal title is yet further lacking in obvious logic, starting with a possible rearrangement of XOR and AND followed by part of GATE with an N inserted. "Gant" could possibly be a reference to a particular sportswear manufacturer/retailer. There is, of course, also the Gantt chart.)

NORXONDOR Gorgonax Two inputs lead into a (N)OR-like entry, the continuing sides of which repurpose as connectors leading through a pair of full anti-parallel NOT gates, before resuming drawn purpose as a NOR-gate output tip.

It is possible the peculiarly placed NOTs are acting as indications of some kind of two-way signal filter/rectifier, if they were to be taken seriously.

(The gate name, however, is a bizarre construct that may even be echoing fantasy/mythology references, such as Gondor and the Gorgon.)

The only real-life logic gate that was omitted is the XNOR gate (short for "eXclusive Not OR"; it compares the inputs, and if and only if they are equal, it outputs true). Note that the "NORG XORT" gate would be logically equivalent to it, if it were tipped to match its uniquely XOR-style tail, since it would then be an XNOR gate with NOT on both inputs, a modification that has no ultimate effect on the logic as it merely switches the case of which exclusivity it needs to be, and does not care which version of same-input it might be responding to.

A double-NOT on an input would produce the identical output again (...if the input is not not true). Two NOTs preapplied to a (N)AND or (N)OR would produce the same output as a (further-)NOTed version of the (N)OR or (N)AND, conversely (...if not-1 and not-2 then this also means that neither 1 nor 2). Normally this would be shown, if necessary, as full NOT gates on the lead-in inputs but (see Transcript, below, and the NORG XORT description above) the shortcut element is occasionally used in further mix'n'match symbology (together with reinterpreting connectivity lines as partial shape-edges and vice-versa) in 'understandable' but definitely non-standard ways.

Along with the deliberate confusion of connector and shape-edge lines, directionality is also played with in several cases, with input 'ends' perhaps also at the (implied) output end and reversed sub-symbols implying a composite gate with substructural feedback or perhaps diode-rectification upon a bidirectional logic path.


Much like 2360: Common Star Types, as the list progresses, the names start to sound more like mythical creatures, closing with the "Norxondor gorgonax". As with the symbology, the names appear to be nonsensical recombinations of the standard ones (perhaps with off-subject inspirations, in some cases) but often do not match up with the symbolic (mis)use, such as an X in the name not implying/being implied by an XOR's unique drawn feature.

In the title text Randall claims that in the programming language C the multiocular O (ꙮ) character, an exotic glyph variant of the Cyrillic letter O, is used to represent the bitwise version of the last operator Norxondor gorgonax (presumably ꙮꙮ represents the non-bitwise version), fitting as the multiocular O is used to refer to "many-eyed seraphim" (angels) in some religious literature. Gorgons (beige or otherwise) have heads covered with snakes instead of hair, and so possess multiple eyes, the most famous was known as Medusa (she was depicted in 1608: Hoverboard). The ꙮ character abstractly inspires ideas of great otherworldly demons like those of the Cthulhu mythos.

C is a low-level programming language, and as such, it has many operations that correspond to logical (i.e. bitwise) operations. These contrast with operations that work in a non-bitwise way. For example, "&&" is the non-bitwise "AND" operator that takes the operands as a whole, while "&" is the bitwise "AND" that combines the respective bits of its two inputs independently before spitting out the new single composite value the output bits represent. In non-bitwise operations, 0 always represents "FALSE", while any non-zero value means "TRUE" for inputs, and 1 is used to represent TRUE for outputs. Thus, "14 && 3" gives the result 1: TRUE AND TRUE -> TRUE. In the bitwise operation, using the same values, the decimal value 14 has the binary value 1110 and the decimal value 3 has the binary value 0011, and for this example we get:

  1110 = 14
& 0011 =  3
  0010 =  2