Lỗi lập trình trong Windows Calculator: căn 4 không bằng 2
09:28, 01/06/2012
Một lỗi lập trình cơ bản trong Calculator tồn tại từ Windows XP, Windows Vista, Windows 7 đến Windows 8 mới nhất mà vẫn chưa được Microsoft khắc phục. Lỗi xảy ra khi ta tính biểu thức: sqrt(4) -2 (lấy căn bậc hai của 4 rồi trừ đi 2).
![](http://media.xahoithongtin.com.vn/files/v1/2012/06/01/loi-lap-trinh-trong-windows-calculator-can-4-khong-bang-2-1.png)
Để kiểm tra, bạn hãy gõ số 4, sau nhất nhấn nút khai căn. Kết quả bằng 2, không có ngạc nhiên.
![](http://media.xahoithongtin.com.vn/files/v1/2012/06/01/loi-lap-trinh-trong-windows-calculator-can-4-khong-bang-2-2.png)
Hãy tiếp tục nhấn dấu trừ rồi gõ số 2 và cuối cùng là nhấn dấu bằng hoặc Enter.
![](http://media.xahoithongtin.com.vn/files/v1/2012/06/01/loi-lap-trinh-trong-windows-calculator-can-4-khong-bang-2-3.png)
Kết quả sẽ hiện ra một dãy số dài chứ không phải bằng 0 như mong đợi.
![](http://media.xahoithongtin.com.vn/files/v1/2012/06/01/loi-lap-trinh-trong-windows-calculator-can-4-khong-bang-2-4.png)
Chưa hết, nếu chuyển sang chế độ Scientific, Calculator sẽ cho một kết quả khác.
![](http://media.xahoithongtin.com.vn/files/v1/2012/06/01/loi-lap-trinh-trong-windows-calculator-can-4-khong-bang-2-5.jpg)
Lý do ẩn đằng sau điều lạ lùng này chính là cách máy tính tính căn bậc hai. Căn bậc hai của 4 được tính bằng 1,9999… kéo dài cho đến vô cùng, còn số 2 hiển thị trên màn hình là kết quả của cơ chế làm tròn số. Do đó khi căn bậc hai của 4 trừ đi 2, kết quả là một số âm có giá trị tuyệt đối rất nhỏ.
Trần Văn Ngọc Tân