Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
July 23, 2022 10:26 am GMT

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)

Integers Representation

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
32 Bit Single Precision

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.

5.1 * 100

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

Shrihari

I write stuff on DevTo and Medium

favicon shrihari-portfolio.vercel.app

More Free Articles From me


Original Link: https://dev.to/shrihari/51-100-510-why-you-have-to-be-careful-with-doubles-and-floats--29eg

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To