Very basis question, i am trying to initialize a Big Decimal with value of 1.1, when i print it the output is not exactly 1.1
BigDecimal bd1 = new BigDecimal(1.1);
System.out.println(bd1);
The output is
1.100000000000000088817841970012523233890533447265625
it works when if I use "1.1" (as string), or if i try to print bd1.doubleValue()
Can someone please explain this behavior, and what are those additional decimal digits auto generated.