มีปัญหาค่อนข้างโง่กับหมายเลข pi ใน C และ C ++ เท่าที่ฉันรู้M_PI
กำหนดไว้math.h
ไม่จำเป็นต้องมีมาตรฐาน
มาตรฐาน C ++ ใหม่แนะนำคณิตศาสตร์ที่ซับซ้อนจำนวนมากในไลบรารีมาตรฐาน - ฟังก์ชันไฮเพอร์โบลิกstd::hermite
และstd::cyl_bessel_i
เครื่องกำเนิดเลขสุ่มที่แตกต่างกันเป็นต้น
มาตรฐาน 'ใหม่' มีค่าคงที่สำหรับ pi หรือไม่? ถ้าไม่ - ทำไม คณิตศาสตร์ที่ซับซ้อนทั้งหมดนี้ทำงานอย่างไรหากปราศจากมัน?
ฉันตระหนักถึงคำถามที่คล้ายกันเกี่ยวกับ pi ใน C ++ (เป็นเวลาหลายปีและมาตรฐานเก่า); ฉันต้องการทราบสถานะปัจจุบันของปัญหา
ฉันสนใจด้วยเช่นกันว่าทำไมทำไม C ++ ถึงไม่มีค่าคงที่ pi แต่มีคณิตศาสตร์ที่ซับซ้อนกว่าเยอะ
UPD: ฉันรู้ว่าฉันสามารถกำหนด pi ตัวเองเป็น 4 * atan (1) หรือ acos (1) หรือ double pi = 3.14 แน่ใจ แต่ทำไมในปี 2561 ฉันยังต้องทำอีก ฟังก์ชั่นคณิตศาสตร์มาตรฐานทำงานอย่างไรโดยไม่ต้อง pi?
UPD2: ตามรายงานการเดินทางครั้งนี้สำหรับการประชุมคณะกรรมการ C ++ ในเดือนกรกฎาคม 2019 ในโคโลญข้อเสนอ P0631 (ค่าคงที่ทางคณิตศาสตร์) ได้รับการยอมรับใน C ++ 20 ดูเหมือนว่าในที่สุดเราจะมีหมายเลข pi ในไลบรารีมาตรฐาน!