100he100k out th1s 1nno5at4e str1ng en100o501ng 15e been 500e5e50op1ng! 1t's 6rtua100y perfe100t! ...hang on, what's a "virtuacy"?
Roman numerals are the system of representing numbers used during the Roman Empire. The letters I, V, X, L, C, D, and M are used to represent numbers, with each letter representing a consistent value. Specifically, I represents 1, V represents 5, X represents 10, L represents 50, C represents 100, D represents 500, and M represents 1000. One way of stating the rules for combining Roman numerals next to each other are that a Roman numeral is added to a Roman numeral of equal or lesser value just to its right (e.g., II=1+1=2 because 1≥1, and VI=5+1=6 because 5≥1[citation needed]), and a Roman number is subtracted from a Roman numeral of greater value just to its right (e.g., IV=5-1=4 because 1<5, and IX=10-1=9 because 1<10). (Also, each place must be written separately, e.g., one cannot represent 49 via IL but instead must represent the tens place and ones place separately via XL IX—although the space would not be included in practice).
The modern system of representing numbers is a decimal positional notation using the numerals (0, 1, 2, 3, 4, 5, 6, 7, 8, and 9). Westerners often call this system "Arabic numerals" or "Hindu–Arabic numerals" because they were invented in India and introduced to Europe by Arabic merchants.
Thus in Roman numerals a digit always has the same absolute value but may be treated as positive or negative depending on the digit after it, whereas for Hindu-Arabic numerals, a digit's value changes by a power of 10 depending on its absolute position and is never subtracted.
Cueball's original equations in Roman Numeral form are:
I + I = II II + II = IV IV + V = IX Translated normally into more familiar Hindu–Arabic numerals, these equations are:
1 + 1 = 2 2 + 2 = 4 4 + 5 = 9 But Randall/Cueball replaced each letter individually with its value in Hindu-Arabic numerals — ignoring the abovementioned rules for interpreting combined Roman numbers, instead using the rules of Roman Numerals. "I" is replaced with "1", "V" is replaced with "5", and "X" is replaced with "10". For example, for IX at the end of the last equation, "I" is replaced with "1", and "X" is replaced with "10", so "IX" becomes "110". Thus, the equations are written
1 + 1 = 1 1 1 1 + 1 1 = 1 5 1 5 + 5 = 1 10 where the spaces have been added for clarity.
An alternative interpretation of the third line, though not strictly in accordance with Roman numeral "rules", is
15 + 5 = 20 (in decimal) 20 is 2 0 2 is 11 So 20 is 11 0 The joke is that because Arabic numerals do not use the same rules of addition and subtraction as Roman numerals, the equations appear incorrect in both systems. The usual interpetation of 11 is 10+1, not 1+1 as it is under the rules for interpreting Roman numerals. Randall derives additional humor from the premise that Cueball seems to know Roman numerals better than Arabic numerals (as demonstrated by the fact that he translated only the symbology and not the grammar) so that he would do math in Roman numerals and have to remember to convert his equations to Arabic numerals at the end. Schoolchildren in the West have been taught to do math with Arabic numerals, not Roman numerals, for centuries.
In the title text, Randall applies the same idea of replacing Roman numerals with their values in Arabic numerals to strings of English words.
100 he 100 k out th 1 s 1 nno 5 at 4 e str 1 ng en 100 o 501 ng 15 e been 500 e 5 e 50 op 1 ng! 1 t's 6 rtua 100 y perfe 100 t! C he C k out th I s I nno V at IV e str I ng en C o DI ng IV e been D e V e L op I ng! I t's VI rtua LL/C y perfe C t! The original string (with letters that would be interpreted as Roman numerals capitalized) is, "CheCk out thIs InnoVatIVe strIng enCoDIng I'Ve been DeVeLopIng! It's VIrtuaLLy perfeCt!" For the first word, "Check," C is replaced with the value of that Roman numeral in Arabic numerals, i.e., "100", in both instances within the word, which results in "100he100k". Unlike in the comic, Randall combines Roman numbers using the proper rules of addition and subtraction. For example, he replaces "IV" with "4", not "15", e.g., "innovative" becomes "1nno5at4e", not "1nno5at15e". (However, "I've" becomes "15e", not "4e", presumably because the apostrophe was removed after, not before, replacing the Roman numerals with Arabic numerals. However, there is not an obvious reason why Randall removed the apostrophe; in addition, this makes the word "i've" look like "xve".)
Irony arises from the claim of "virtual perfection", as there are problems with this encoding.
One problem with the encoding is that the double L in "virtually" is replaced with 100. This technically obeys Roman numerals' rule of adding the value of a letter to the value of an equal-valued letter just to its right (50+50=100). However, this addition rule should not apply, since in standard Roman numerals, a single number should never have multiple Vs, multiple Ls, or multiple Ds, e.g., 100 should be represented only by C (100), not LL (50 50). This would mean that a simplistic decoding script would erroneously decode "6rtua100y" to "VIrtuaCy", not "VIrtuaLLy". Thus, this string encoding system is not actually perfect. It loses information.
Another problem with the encoding is that only a very small subset of the source text can be affected by this encoding: 7 letters of 26 letters for English (the language that the text is written in) and no non-alphabetical characters.
Alternative decodings
Until the modern codification in general use today, Roman numerals weren't standardised that much, so "LL" could have been a tolerated alternative to "C". For more on that, see Classical Roman numerals. However, having the decoding script use that alternative would not solve the problem but instead would make the decoding script replace Cs with LLs instead, e.g., "delloding sllript".
One could also separate the L's into individual numbers, to become "virtua5050y", except this produces even more problems because 5,050 is actually MMMMML and "virtuammmmmly" is definitely not an English word. (Citation: look up "virtuammmmmly" on Wiktionary.)