This article is classified "Partly real, partly fictional"
"Binary" literally means "consisting of two." For example, a binary solar system is a solar system which contains two stars. An example of such a binary system is Sol. Or at least, it would be, if there were two stars in this particular system. Curiously, when spelled backwards, "binary" yields "yranib," which is Andearian for "pair." Also, if we rearrange the letters in "binary," add a few, take a couple away, and encode the result randomly, we get "deux," which is French for "two." Amazing coincidence or is a higher intelligence at work here? The word "binary" is a term in its own right, most commonly used to mean the binary counting system - mathematics carried out in base 2. This was invented by a small-time medieval poacher after he had been caught 9 times. It is a very important counting system, as practically all modern computers run on binary (unleaded binary still hasn't become very popular due to pressure from the powerful lead cartels, as well as the need for companies such as the gigantic Infernal Barrister Machinations Corporation to continue pumping out 15 kilo "portables" so that they might continue to lose more money each year than their biggest supercomputer can count (a cunning tax dodge)). Binary Mathematics: If I take a bean and add another bean, how many beans do I have? In decimal, the answer is two (or three to some), while in binary, the answer is ten (pronounced wonz-erro). Application of this binary counting system has relieved the famines in Ethimalia and Somopia by replacing every two decimalized grains of rice with ten binary grains. Where adding an extra digit onto the end of a decimal number will effectively multiply that number by 10, in binary this has the effect of multiplying by 2. This effect can be seen when you try to "shift up" from one model of a computer to the next - the price doubles each time, and after 3 shifts there is no way you can afford the next one! (As a point of interest, a Yarc PMY 16 supercomputer takes 26 shifts for your average shoe salesman.) In a similar vein, shifting in the opposite direction has the effect of dividing by two. This exponential decay becomes evident the day after you buy your new computer, when you find that it is now worth only half as much as you paid for it. (My New Years Resolution: to find 25 other people willing to buy and immediately sell a Yarc PMY 16.) Another example of how this works can be seen in pyramid selling ventures, where each person sells a product to two other people, and everybody doubles their money. (Incidentally, if you know of anyone who wants to buy a Unique 5100 toenail exerciser (the one that fits into a small barn! Burn those calories! Keep that cuticle shapely and fit!), I know where I can lay my hands on two of them. Going real cheap!) As an example of how the binary counting system works, binary addition is described below: A binary number is made up of a string of binary digits (sometimes called "bits," often mistakenly given an origin in the phrase "BInary digiTS" but actually derived from the special two-position switch used to turn horses on and off. Similarly, a "halter" is a device upon which one pulls hard to bring a computer/horse to an emergency stop, a "boot" is a device used to start a computer/horse, and a "branch" is often the cause of an unexpected halt at run time.) Addition and subtraction of single binary digits equates to an exclusive-or operation, as shown in the table below: + | 0 1 --+---- 0 | 0 1 1 | 1 0 A complication when adding/subtracting numbers containing multiple digits is that a carry/borrow needs to be propagated to the left/right under some circumstances. This can mean a lot of work interrogating flags in order to calculate a correct result. However, quite conveniently, a few computer assembly languages provide a set of obscure and little-known exclusive-or instructions which happen to propagate binary carries at the same time. These instructions go under a few different names, but can generally be found, if at all, by looking up "add" and "subtract" in the manual. Some high level languages also provide an infix macro which has a similar effect, usually defined as '+' or '-'. There are three main reasons for using binary rather than decimal digits in computers: 1) If we were to store a number using decimal digits, we have to be able to store 10 values per digit, which takes up a lot of memory. Using binary digits, however, we only need to store 2 values per digit, which cuts down memory usage by 80%. 2) Computers only have one finger (c.f., UNIX 'finger' command) while humans typically average ten (if we exclude statistics influenced by wars and combine harvester accidents). 3) Computer programmers and hackers totally fail to comprehend decimal. Reason (1) was also responsible for the change from the imperial system (where everything was conducted in bases 12 and 60) to the modern metric system (base 10). Legislation is currently before the government to adopt a new binary (base 2) system, in an effort to reduce the amount of computer memory needed to store the American deficit, as well as to lower the price of consumer items, reduce the distance between cities, and increase the rate of production. One very handy application of binary computer programming is that common programming practices become much easier. This especially applies to "Poke and Hope" programming, where it reduces the range of random numbers the programmer must try "poking" into his/her program to only 2 different values instead of 10. This has significantly improved the rate at which large software houses such as MilkThem-Soft (TM) have been able to release utter crap onto the market. A recent advance in data compression technology has also been due to the humble binary system. In a stream of truly random decimal data, each digit stands a 10% probability of being the next digit to appear. However, by using the binary data representation, we only use the digits 0 and 1, thus increasing the likeliness of any digit being next from 10% to 50%. This significantly improves the efficiency of predictive encoding for data compression, especially when combined with the Compression Sort Transform.