ต้องผ่านการทำงานของโมดูโล่ (ถนนที่ฉันเข้ามาขณะสำรวจความแตกต่างระหว่างrem
และmod
) ฉันเจอ:
ในวิชาคณิตศาสตร์ผลของการดำเนินการโมดูโลคือส่วนที่เหลือของการหารแบบยุคลิด อย่างไรก็ตามการประชุมอื่น ๆ เป็นไปได้ คอมพิวเตอร์และเครื่องคิดเลขมีวิธีจัดเก็บและแสดงตัวเลขต่าง ๆ ดังนั้นคำจำกัดความของการดำเนินการโมดูโลจึงขึ้นอยู่กับภาษาการเขียนโปรแกรมและ / หรือฮาร์ดแวร์พื้นฐาน
คำถาม:
- การผ่านส่วนยูคลิดฉันพบว่าส่วนที่เหลือของการดำเนินการนี้เป็นบวกเสมอ (หรือ 0) ข้อ จำกัด ของฮาร์ดแวร์คอมพิวเตอร์พื้นฐานบังคับให้นักออกแบบการเขียนโปรแกรมภาษาแตกต่างจากคณิตศาสตร์อย่างไร
- ภาษาการเขียนโปรแกรมทุกภาษามีกฎที่กำหนดไว้ล่วงหน้าหรือไม่ได้กำหนดซึ่งเป็นผลมาจากการดำเนินการ modulo ที่ได้รับมันเป็นสัญญาณ เหตุผลอะไรที่ถูกนำไปใช้ในขณะที่ทำกฎเหล่านี้ และหากฮาร์ดแวร์พื้นฐานเป็นสิ่งที่น่ากังวลกฎก็ไม่ควรเปลี่ยนแปลงตามนั้นความเป็นอิสระของภาษาโปรแกรม?
(-3)/2 == -1
มักจะใช้แบ่งจำนวนเต็มที่จะไปสู่การเป็นศูนย์เช่น คำจำกัดความนี้มีประโยชน์ เมื่อคุณต้องการ%
ที่จะสอดคล้องกับส่วนนี้ตอบสนองx == (x/y)*y + x % y
คุณท้ายด้วยความหมายของการ%
ใช้ใน C #