ຄວາມຊັດເຈນຂອງການຄິດໄລ່ຂອງ LibreOffice

ບັນຫາຄວາມຊັດເຈນທີ່ມີມາແຕ່ເດີມ

LibreOffice Calc, ຄືກັນກັບຊອບແວສະເປຣດຊີດອື່ນໆສ່ວນໃຫຍ່, ໃຊ້ຄວາມສາມາດທາງຄະນິດສາດແບບເລກທົດສະນິຍົມເຄື່ອນທີ່ (floating-point) ທີ່ມີຢູ່ໃນຮາດແວ. ເນື່ອງຈາກຮາດແວໃນປັດຈຸບັນສ່ວນໃຫຍ່ໃຊ້ການຄິດໄລ່ເລກຖານສອງແບບທົດສະນິຍົມເຄື່ອນທີ່ທີ່ມີຄວາມລະອຽດຈຳກັດຕາມມາດຕະຖານ IEEE 754, ເລກທົດສະນິຍົມຫຼາຍຕົວ - ລວມທັງເລກງ່າຍໆເຊັ່ນ 0.1 - ກໍບໍ່ສາມາດສະແດງໄດ້ຢ່າງຊັດເຈນໃນ LibreOffice Calc (ເຊິ່ງໃຊ້ຕົວເລກຄວາມລະອຽດສອງເທົ່າແບບ 64 ບິດພາຍໃນ).

ການຄິດໄລ່ດ້ວຍຕົວເລກເຫຼົ່ານັ້ນຈຶ່ງ ເຮັດໃຫ້ເກີດຂໍ້ຜິດພາດໃນການປັດເສດ ຢ່າງຫຼີກລ່ຽງບໍ່ໄດ້, ແລະ ສິ່ງເຫຼົ່ານີ້ຈະສະສົມໄປໃນທຸກໆການຄິດໄລ່.

ສິ່ງນີ້ບໍ່ແມ່ນບັກ, ແຕ່ເປັນສິ່ງທີ່ຄາດການໄວ້ແລ້ວ ແລະ ບໍ່ສາມາດຫຼີກລ່ຽງໄດ້ໃນປັດຈຸບັນໂດຍບໍ່ໃຊ້ການຄິດໄລ່ທີ່ຊັບຊ້ອນໃນຊອບແວ ເຊິ່ງຈະເຮັດໃຫ້ປະສິດທິພາບຫຼຸດລົງຢ່າງຫຼາຍ. ຜູ້ໃຊ້ຈຳເປັນຕ້ອງຄຳນຶງເຖິງເລື່ອງນີ້, ແລະ ໃຊ້ການປັດເສດ ແລະ ການປຽບທຽບກັບ machine epsilon (ຫຼື unit roundoff) ຕາມຄວາມຈຳເປັນ.

ຕົວຢ່າງດ້ວຍຕົວເລກ:

A

1

31000.99

2

32000.12

3

=A1-A2


ສິ່ງນີ້ຈະສົ່ງຜົນໃຫ້ໄດ້ຄ່າ -999.129999999997 ໃນ A3, ແທນທີ່ຈະເປັນ -999.13 ຕາມທີ່ຄາດໄວ້ (ທ່ານອາດຈະຕ້ອງເພີ່ມຈຳນວນຕຳແໜ່ງທົດສະນິຍົມໃນຮູບແບບເຊວເພື່ອໃຫ້ເຫັນສິ່ງນີ້).

ກະລຸນາສະໜັບສະໜູນພວກເຮົາ!

ກະລຸນາສະໜັບສະໜູນພວກເຮົາ!