Excel VBA 小数点以下の数字の扱いが分からない。

計算した数値が整数か小数かを判定させようと思って書いたコードが思いがけない結果を返した。

サンプルコード
MsgBox 6.1 - 0.1
MsgBox Int(6.1 - 0.1)

結果は、
6
5

内部的には、6.1 - 0.1 = 5.9999.....という感じなのだろうか?
ちなみに、

MsgBox Int(6.2 - 0.2)

などとすると、ちゃんと Int(x) も 6 を返す。どうやら 0.1 のときだけそうなるように見える。ちなみに、Int() だけでなく、Fix() でも同様のことが起きる。したがって、6.1 - 0.1 と 6.2 - 0.2 の値の扱い方が異なっているのではないかと思うのだが、そうなる理由が分からない。