Chúng ta nói chuyện một chút về việc vì sao mà phép cộng trong máy tính không phải lúc nào cũng giao hoán. Hãy tưởng tượng rằng bạn có thể cộng một số lượng lớn các giá trị floating-point, một số có giá trị rất lớn và một số có giá trị rất nhỏ (gần bằng không).
Nếu một giá trị rất nhỏ được cộng vào một trong rất lớn, bạn có thể sẽ bất ngờ với kết quả. Chúng ta hãy quay trở lại ví dụ trước – giả định rằng máy tính của chúng ta lưu được chính xác 8 chữ số với bất kỳ số float nào.
Nếu chúng ta cộng 2 số float như sau:
11111111000.0 + 0.00011111111
chúng ta sẽ có kết quả là
11111110656.000000
Giá trị thấp hơn chỉ đơn giản là biến mất mà không có một dấu vết gì.
Chúng ta không thể tránh được việc như thế này khi cộng/trừ số kiểu float (và cả double, bởi vì nó cũng bị ảnh hưởng bởi vấn đề này).
Hiện tượng này được gọi là numerical anomalies.