An Interest In:
Web News this Week
- April 2, 2024
- April 1, 2024
- March 31, 2024
- March 30, 2024
- March 29, 2024
- March 28, 2024
- March 27, 2024
5.1 * 100 != 510 , Why you have to be careful with Doubles and Floats !
Internally Integers and Floats are stored differently.
This is how integers are stored depending upon the machine the number of bits will be different. ( Normally it will be 32 or 64 bit)
By default most of the modern languages save a float/double
as double precision( 64 Bit) But for this blog I will show you a 32 bit model! For the same value 20 but 20.0 will be saved in the IEEE754 Double Precision Format.
Below is the image showing single precision format
But why ?
This is because we can save integers easily in the binary form but not floats. Floats are special numbers and always require special care when dealing them especially if you're using them for calculations. This talks about Floats and Binary
5.1
We can see there are some errors during the conversion of this float to binary. This is why we get this title.
In our company we deal with a lot of transactions and taxes! Hence we always take care of floating points. Recently we found this exact bug where we missed to deal with floats, it cost us with wrong calculations. But we knew what was wrong immediately. Peace
If you are here it means you may have enjoyed reading this blog. Just follow me @shrihari which will motivate to write more and contribute open source and may considering a buttermilk .
If you want to receive these blogs in your mail from @Medium. Subscribe to my blogs
More Free Articles From me
A custom right click menu on Angular : FEAT PrimeNg
Shrihari Mohan Jul 10 3 min read
Original Link: https://dev.to/shrihari/51-100-510-why-you-have-to-be-careful-with-doubles-and-floats--29eg
Dev To
An online community for sharing and discovering great ideas, having debates, and making friendsMore About this Source Visit Dev To