ปัญหาบวกลบเลขทศนิยมในคอมพิวเตอร์แล้วผิดพลาด

Post Reply
tong
Site Admin
Posts: 2386
Joined: Fri 01 May 2009 8:55 pm

ปัญหาบวกลบเลขทศนิยมในคอมพิวเตอร์แล้วผิดพลาด

Post by tong »

ปัญหานี้ฝรั่งจะเรียกว่า floating calculation problem เป็นข้อจำกัดของเลขฐาน 2 ในคอมพิวเตอร์

ลอง Key ค่าเหล่านี้คำนวนใน Excel

Code: Select all

C2 = 100.2-100.1
C3 = 100.02-100.01
C4 = 100.002-100.001
แล้วให้ปรับค่าทศนิยมเป็น 18 ตำแหน่ง ควรจะได้ตามหลักคณิตศาสตร์ดังนี้

Code: Select all

C2 = 0.100000000000000000
C3 = 0.010000000000000000
C4 = 0.001000000000000000
แต่ผลลัพธ์ที่ได้คือ

Code: Select all

C2 = 0.100000000000009
C3 = 0.00999999999999091
C4 = 0.000999999999990564
สาเหตุเกิดจากเลขฐาน 2 ที่ใช้ในระบบคอมพิวเตอร์ ดังนั้นเวลาบวกลบคูณหารทุกครั้ง ให้ใช้ฟังก์ชัน ROUND เข้าช่วยเสมอเพื่อความปลอดภัย

Code: Select all

=ROUND(ค่า,จำนวนตำแหน่งทศนิยมที่ต้องการแสดง)
Post Reply