![](/static/253f0d9b/assets/icons/icon-96x96.png)
![](https://mander.xyz/pictrs/image/dbeda0de-d3fb-4fab-8703-3e52e72cb4db.jpeg)
Nope, this redefinition isn’t necessary, it is a choice SI made. Nothing would have broken by keeping an exact relationship between amount of substance and mass, it would just have retained the interpretation of Avogadro’s constant from before 2019 (experimentally determined vs a defined constant).
… weighs one gram … An amount of hydrogen weighing the same amount has exactly one mole of atoms in it.
Not only was this never true - the sentence would have to have say “An amount of carbon-12 atoms weighing 12 times this amount has exactly 1 mole atoms in it” (far less elegant) – but not even this is true any longer after the fuckup in redefining the mole in 2019, after which all these relations between amount of substance and mass are only approximate.
Ackchyually-- IEEE 754 guarantees any integer with absolute value less than 2^24 to be exactly representable as a single precision float. So, the “divide by 2, check for decimals” should be safe as long as the origin of the number being checked is somewhat reasonable.