
I wasn’t suggesting you learn it Richard I’m sure you know it better than most
In a closed society where everybody's guilty, the only crime is getting caught. In a world of thieves, the only final sin is stupidity.  Hunter S Thompson  RIP





Sorry, I guess I misunderstood.





I doubt that is useful.
"Number theory", at best, covers quite a bit more than what was actually asked for. So attempting to answer the original question with that is not a good idea.





I agree but it gives you some very useful knowledge
In a closed society where everybody's guilty, the only crime is getting caught. In a world of thieves, the only final sin is stupidity.  Hunter S Thompson  RIP





Base12  with eggs. 12 eggs to a box, 12 boxes to a case...
Just don't grind them up.





That's just gross.
"One man's wage rise is another man's price increase."  Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it."  Michael Simmons
"You can easily judge the character of a man by how he treats those who can do nothing for him."  James D. Miles





The order in which they came historically. That would be the preferred logical order, i believe. Will give an opportunity to provide a logical motivation to the next topic.





Charles Petzold explains these in his fantastic book, Code: The Hidden Language of Computers[^] (now, 2nd updated edition)
Here's a helpful  and free  resource from the book [^] really cool interactive code.
1. He explains Binary first using : 1 if by sea, 2 if by land.
(Yes, he explains that the absence of any lantern (off) would normally indicate a value but since nolight could happen in normal circumstances you have to use 2 lanterns).
He explains the entire on/off concept very clearly.
2. He then introduces George Bool and Boolean algebra
3. Then later he teaches Hex math.
I think his system of building on basics works very well.
if you haven't read his amazing book, I highly suggest it.
Great concepts explained simply.





+5 for Petzold.
Great book. Also his Annotated Turing.





Start with decimal notation using fully positional notation as opposed to something like Roman numerals which uses different symbols for powers of 10 but also has some positional rules. Give examples of arithmetic rules.
Then drop to octal, since it's easier to understand using less symbols  counting with just your fingers and not using the thumbs. More arithmetic examples.
Play around with a few other bases  duodecimal (base12) or sexagesimal (base60  hours, minutes, seconds)  finally arriving at hexadecimal. More arithmetic...
Maybe show base4 or move straight to binary. Show the same arithmetic rules apply even when there's only 2 symbols.
Show that any number in binary representation can be easily rewritten as hexadecimal or octal (and viceversa) just by grouping/expanding the digits. Mention that, in computing, the term bit is a contraction of binary digit.
Introduce Boolean algebra as a separate topic using Englishlike examples for AND, OR and NOT.
Somewhere along the way, introduce De Morgan's Law  "NOT (A OR B)" gives the same results as "(NOT A) AND (NOT B)"
Finally, show that if TRUE is one and FALSE is zero, then AND is the same as multiplying in binary and only looking at the last digit and OR is addition.
You can then introduce logic gates and show how to build an adder circuit for 2 single bit numbers with a 2bit output  least significant bit is OR, most significant/carry is AND but it can all be done with just AND/NOT or OR/NOT, so you only need one 2input gate and an inverter (NOT).
Etc.





CPUser3 wrote: If your goal is to get the following three concepts into the minds of a large group of people...
Then my goal would be to find a different goal because that isn't going to work.
Certainly I have seen programmers that can't figure even one of those out.
I would not want to try with a group of specialized university mathematics professors.
Perhaps university mathematics students since then still have generalized concepts in their head. But only the ones doing well in their class work.
CPUser3 wrote: Boolean Algebra
Not sure about the other two but I remember that this was an entire university semester long class that I took.





I'd say binary first, since I recall teaching someone for their high school class ... after I had been out only a few years myself. (I was already programming by that time though I don't recall learning binary in HS).
Of course, you ground them first with decimal, and how it relates. (With a side trip to Octal)
"Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation."  Napoleon I





Arithmetics:
Binary and Hex and this and that base is all the same. Only the base is different.
E.g. adding two numbers based on 2 or 16 or 10 following the same scheme.
Boolean Algebra:
This is a different from the above and needs to be explained seperately.
Here the operators are different. Operators like 'logical and', 'logical or', 'not', .... that are boolean operations and not arithmetic operators.
Why it is different
Let us have two boolean variables 'a' and 'b'. They can only have the values TRUE or FALSE.
One fundamental law in Boolean algebra is:
a AND b == NOT(NOT a OR NOT b) which is very different from arithmetics I think.
Same is valid for e.g.
a OR b == NOT(NOT a AND NOT b)
*1) 'Arithmetic' example, more number representing for different bases
I assume you know all these, therefore only as a basic idea how to start....
In my opinion you need to explain what number representation based on a different bases means.
The very basic thing how to represent a number based on any base 'b' is:
... b^2 b^1 b^0 ... b^1 b^2 ....
The available digits depend on the base.
Examples for bases and available digits:
Base 2 (binary) : 0, 1
Base 10 (decimal): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Base 16 (Hex) : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
Example for the representataion of the decimal number 123 with different bases:
b^7 b^6 b^5 b^4 b^3 b^2 b^1 b^0
Base 2 : 128 64 32 16 8 4 2 1
0 1 1 1 1 0 1 1 = 1x64 + 1x32 + 1x16 + 1x8 + 1x2 + 1x1 = 123
Base 10: 10^7 10^6 10^5 10^4 10^3 100 10 1
0 0 0 0 0 1 2 3 = 1x100 + 2x10 + 3x1 = 123
Base 16: 16^7 16^6 16^5 16^4 16^3 16^2 16 1
0 0 0 0 0 0 7 B = 7x16 + Bx1= 123
I hope I made no mistakes while writing the above ;)
modified 30Nov23 15:02pm.





CPUser3 wrote: If your goal is to get the following three concepts into the minds of a large group of people...
Getting those concepts into the minds of a large group of people??, not gonna happen. You would rather forget about the order but think about the disorder you will cause.





You have to provide adequate incentive, threaten grievous bodily harm to those who don't understand maybe?
"the debugger doesn't tell me anything because this code compiles just fine"  random QA comment
"Facebook is where you tell lies to your friends. Twitter is where you tell the truth to strangers."  chriselst
"I don't drink any more... then again, I don't drink any less."  Mike Mullikins uncle





You'd have more luck getting them to recite that rhyme straight ten times.
On a slightly more serious note, hex is just binary, 4 bits at a time. Maybe mention octal as a stepping stone.
Software rusts. Simon Stephenson, ca 1994. So does this signature. me, 2012





First make everyone drink two coffees and a bottle of water and then tell them there are no breaks. That will keep questions to a minimum!
My top of the head approach:
Boolean Algebra with true and false
then teach
false is 0
true is 1
Repeat Boolean Algebra module now with 0/1
Then introduce using groups of two bits
repeat Boolean Algebra with two bits.
Show 4, then 8, 16, 32 quickly.
do a few exercises with 8 bits.
(Optional: at this time XOR)
Now introduce some other binary operators like addition and subtraction, then two’s complement and “signed” values in binary. (optional: Overflow exceptions and how to calculate overflow. or only cover this if someone brings it up. still have some content prepared on the topic)
Now that you are starting to treat blocks of bits as numbers, hammer home place value in binary (as well as review same in decimal system)
Show how in decimal we bundle by groups of three digits: ones, thousands, millions. Then segue from there on how to bundle 4bits into a nibble, and then show hexadecimal. (Separate the classroom then on people who think hexadecimal should use upper case or lower case for AF for no reason just to mix things up) show hexadecimal place value, do a few simple additions and subtractions in hex.
Demo Programmer mode on the calculator.





You could create the presentation as an article to solicit feedback. And then dismiss poor reviews of your presentation thusly “Wow, I found this as an article on codeproject.com, I thought they knew their stuff! Sorry.”
Might need to scrub your bio if you execute this suggestion!





I would start with Boolean Algebra, just to introduce the student to the many useful things a number system with only two possible digits can be. Then I would extend the concepts to binary arithmetic, to demonstrate the interchangeability of number systems, given the proper conversions. Lastly I would introduce the hexadecimal notation, with emphasis on the usefulness of this shorthand way to represent what is, essentially, a binary representation. In practice, I actually started down the logic road in grade school, learning about sets, and expressing relationships with Venn Diagrams. Later came the transition to general logic, binary, then octal, then hexadecimal arithmetic, and state transition diagrams.
Will Rogers never met me.





I'd just flip 2 with 3
So 1,3 then 2
Mostly because binary and base 16 arithmetic are best made mentally (and hexadecimal can be broken down to binary easily in case of brain fart)
Boolean Algebra is a whole world by itself and because the choice of 1 and 0 for True and False is totally arbitrary, it doesn't necessarily follow the former two. People eventually memorize the basic tables of AND, OR and XOR by way of assembling digital circuits (the fun part)





I am trying to get eggshells ground down to a flour which is fine enough in its powdered form to allow for regular cooking; particularly on a griddle top when mixed with milk and eggs and stuff
The home blender is just not good enough for this purpose; I have already ruined my second one and I'm not going to destroy any others.
I just spent four hours on thirty zillion websites, and apparently my best bet is something called a spice mill grinder.
There is an ocean of those things out there on the market. Interestingly enough, I never knew they existed.
Clueless nubee here: What am I looking for ? What do I need to be looking out for, i.e., in terms of stuff to avoid ?







Richard MacCutchan wrote: I just spent one minute on Google and found: Uhm, yeah, Try any of the methods of which those people are suggesting; and then try to use that powder for baking real food that you're going to put into your mouth and chew.
Been there, done that, and I'm looking for a spice grinder so that I don't repeat exactly what all those websites are trying to describe.





CPUser3 wrote: try to use that powder for baking real food Can't see any reason why I would want to do that.




