1 |
I'll byte. I avoided commenting on this yesterday on the principle that |
2 |
"if you have to explain the joke then it's no longer funny", but here's |
3 |
my interpretation. |
4 |
|
5 |
On Oct 31, 2005, at 11:54 am, Holly Bostick wrote: |
6 |
> |
7 |
> There are 10 kinds of people in the world |
8 |
> Those who understand binary, and those who don't |
9 |
|
10 |
This is a common sig on computer forums, and it has always bothered me. |
11 |
|
12 |
Bear in mind that: |
13 |
0 in binary integer = 0 in decimal |
14 |
1 in binary integer = 1 in decimal |
15 |
10 in binary integer = 2 in decimal |
16 |
11 in binary integer = 3 in decimal |
17 |
|
18 |
So, converting the binary literal English it says: "there are two kinds |
19 |
of people in the world, those who understand binary, and those who |
20 |
don't". But it always seemed to me to be out of place on really |
21 |
technical computer forums, because we know that computers don't really |
22 |
use binary. They use two states of voltages which can be represented by |
23 |
1s and 0s and which can therefore conveniently be used to do binary |
24 |
maths. BUT those 1s and 0s don't HAVE to represent traditional binary |
25 |
numbers, we can use them in any way that's convenient to us - for |
26 |
instance, "twos complement" may be used for the representation of |
27 |
negative numbers and (in an an 8-bit system) 10000000 is the highest |
28 |
number you can have - adding one causes the counter to roll over and |
29 |
represent a negative number. |
30 |
|
31 |
So in the case of "there are 2 kinds of people in the world, those who |
32 |
understand binary, and those who don't" we have the people who don't |
33 |
understand binary, the people who do understand binary... but who are |
34 |
the OTHER PEOPLE mentioned? |
35 |
|
36 |
Look at this again: |
37 |
10 in binary = 2 in decimal = people who understand binary? |
38 |
1 in binary = 1 in decimal = people who don't understand binary? |
39 |
0 in binary = 0 in decimal = who are these people? |
40 |
|
41 |
An explanation of the difference between natural numbers & integers is |
42 |
relevant at this point. Back in the old days we counted on the basis of |
43 |
" Bill has two cows, Dave has one cow, Joe doesn't have any cows" |
44 |
(natural numbers) but once society invented taxmen, accountants & |
45 |
bankers these people needed a way to represent "doesn't have any cows" |
46 |
on their spreadsheets and so zero was invented ("Bill: 2 cows, Dave: 1 |
47 |
cows, Joe: 0 cows"). When we count in a number-set that includes zero |
48 |
(but not fractions, they're not relevant to this discussion) we're |
49 |
counting in integers. |
50 |
|
51 |
So the phrase "there are two kinds of people" uses NATURAL numbers: |
52 |
there are one kind of people that understand, a second that don't. Any |
53 |
computer programmer worth his salt knows that using two bits to |
54 |
represent whether people understand binary or not is a waste of a bit - |
55 |
in a database of a million people you've just wasted a meg! |
56 |
|
57 |
Any c programmer would represent this: |
58 |
1 = people who understand binary |
59 |
0 = people who don't understand binary |
60 |
|
61 |
or: |
62 |
|
63 |
if ( understands_binary ) |
64 |
printf ("Understands binary!"); |
65 |
else |
66 |
printf ("Doesn't understand binary!"); |
67 |
|
68 |
Before you protest that I've turned this into a boolean, however you |
69 |
look at it you only need one bit to represent positive natural numbers |
70 |
of 2 or less. |
71 |
|
72 |
> There are 3 kinds of people in the world: |
73 |
> Those who can count, and those who can't. |
74 |
|
75 |
Whilst funny on it's own, my initial reaction was that this could be |
76 |
interpreted as a satirical comment on the "binary" joke. For me, |
77 |
looking at it like that, it works on a bunch of different levels. |
78 |
Summary: those who can count, those who can't, and those who *think* |
79 |
they understand binary. |
80 |
|
81 |
I really ought to get some work done today, too. |
82 |
|
83 |
Stroller. |
84 |
|
85 |
-- |
86 |
gentoo-user@g.o mailing list |