For those who are curious, that’s the IEEE 754 representation of the number 300.
Each section of the binary number represents a different component needed to construct the number 300. It uses clever math to be able to represent decimals. It’s like asking you whether a number is positive or negative, then the position of the decimal point, then what the digits are.
Specifically…
The first 0 means the number is positive. The number formed by the next eight bits (the exponent) and the number from the remaining bits (the mantissa) multiply to get 300.
The exponent bits choose the value of N in the formula 2N-127 . For the mantissa, we start with the number 1, then each “1” bit starting from the left adds to it 0.5, then 0.25, and so on. Specifically, we have 28×1.171875.
Sigh, and I wanted to reply with
It’s over 01000110000011001010000000000000!
Such binary thinking.
Don’t be irrational
But floating-point notation also can’t precisely represent irrational numbers…
Kinda. Technicaly no since an irrational number is a number that cannot be defined as a ratio of 2 existing rational numbers. Any number that can be represented in any rational base can by definition be represented as a ratio of somthing/base^n. This ignore the case of an irrational base but its practically useless cos any rational and most other irrational numbers will be irrational.
What u think ur trying to say is that some numbers cannot be represented in one base but can in another for example 1/3 can be represented as a decimal in base 3 but cannot jn base 10 ie u get 0.333(3 repeating forever).
Tieing back to floating point which uses base 2 u end up with simmillar issues with base10 base2 conversions hence most of the errors with floating point errors (yes at very large and very small numbers u lose accuracy but in practice most errors arise from base convention).
Following Pythagoreanism and believing irrational numbers to be blasphemous. They’re represented by being struck down by the gods.
// what the fuck?
I’m doing my part