นี่มันค่อน noob คำถามแต่ฉันสงสัยอยากรู้เหตุผลอยู่เบื้องหลังเรื่องนี้: -ถ้าฉันการดีบั๊กต่อไปนี้ C++รหัส:
void floatreturn(float i){
//nothing
}
int main(){
float a = 23.976;
floatreturn(a);
return 0;
}
การติดตามดูผ่านค่าของมันดูเหมือนจะเป็นอย่างนั้ 23.9759998 เมื่อเข้าสู่ floatreturn. เป็นผลให้มีการประมวลผลของค่าอยู่ในฟังก์ชันจะต้องการให้ด้วยตนเอง tweak งความแม่นยำ มีเหตุผลสำหรับเรื่องนี้และมีทางที่จะหลีกเลี่ยงมัน?