

There’s another factor - days where thr earth is orbiting faster, eg on the closer side of the ellipse - are a different length midday to midday from when we are on the far side of the ellipse.
You can convince yourself of this when you consider that the area of the arc we traverse each day is the same (Kepler’s law). On the short side of our eliptical orbit, since the orbital distance is shorter, the arc must have a larger angle that we travel. That means the amount a point on the earth rotates to have the sun come back directly overhead must be different in different parts of the year.
This difference, summed day over day, results in a +/- 20 min movement of actual midday to 12pm. The ‘mean’ in Greenwich Mean Time refers to averaging this difference over the whole orbit.












I C (and most other languages) you can enter a value like thirty-two using many different number bases: ‘ ‘ as a char, 32 in decimal, 0x20 is hex, 040 in octal or 0b00010000. All of these mean thirty-two, just written differently using different characters.
Note that each of these representations use different digits and/or letters to specify the same number - the mathematical entity thirty-two. These letters and digits are characters stored as numbers, eg the digit zero (0) is coded in ASCII as 48.
In the end, the C compiler will compile the text ‘32’, ‘0x40’ or ‘0b00010000’ into binary and store it in memory the single byte where the 5th bit set to 1 and the others to 0. This is the way computer memory is used to represent the number, and it’s linked to the way the electric circuits do things like add numbers together.
The compiler is the thing that understands that the characters like ‘3’, ‘+’ or ‘F’ and works out what they represent (a number, a variable name or a sum). When it understands that, it will turn the code into bits that the CPU can work with, for example passing it to the compare instruction CMP used to test whether the input is less than the number thirty-two.
This is very meta, and I hope this clarifies rather than confuses. Compilers are notoriously confusing, such as the thought ‘the compiler compiles the compiler code into an executable that can compile itself’.