โมดูลัส C++

Mo Du Las C



ในภาษาการเขียนโปรแกรมหลายภาษา เรามักใช้ตัวดำเนินการชื่อ 'โมดูลัส' โดยแสดงสัญลักษณ์เป็น '%' ตัวดำเนินการโมดูลัสนี้ใช้เพื่อค้นหาส่วนที่เหลือเมื่อจำนวนเต็มหรือตัวเลขสองตัวหารกัน โอเปอเรเตอร์นี้ใช้ตัวถูกดำเนินการสองตัว: เงินปันผลและตัวหาร สิ่งที่เหลืออยู่หลังจากการแบ่งเสร็จแล้วคือส่วนที่เหลือ X % Y = R; โดยที่ X และ Y เป็นตัวหารและตัวหารตามลำดับและ R คือส่วนที่เหลือ เราใช้เศษนี้เป็นส่วนของข้อมูลถ้าเราต้องการทราบว่าตัวเลขที่หารทั้งสองตัวเป็นตัวประกอบของแต่ละตัวหรือไม่ เรายังใช้เศษที่เหลือเพื่อแจ้งให้เราทราบว่าตัวเลขเป็นคู่หรือคี่

ขั้นตอน
มีการใช้ตัวดำเนินการโมดูลัสหลายอย่างที่เราใช้สำหรับฟังก์ชันต่างๆ ในภาษาการเขียนโปรแกรม เราจะดำเนินการโมดูลัสสำหรับฟังก์ชันต่างๆ สำหรับตัวอย่างต่างๆ แต่ละตัวอย่างจะสรุปให้เราทราบเกี่ยวกับการใช้ตัวดำเนินการโมดูลัสที่แตกต่างกัน มาดูรายละเอียดการแก้ตัวอย่างสำหรับ “C++ Modulus Operator”

ตัวอย่าง # 01
ในตัวอย่างแรก เราจะทำความคุ้นเคยกับไวยากรณ์ของตัวดำเนินการโมดูลัส และจะแก้ปัญหาตัวอย่างง่ายๆ ของตัวดำเนินการโมดูลัส เพื่อจุดประสงค์นี้ เราจะใช้ตัวดำเนินการโมดูลัสกับทั้งตัวจ่ายเงินปันผลและตัวหารที่มีประเภทข้อมูลเหมือนกัน เช่น จำนวนเต็ม 'int' เราจะกำหนดตัวแปรสองตัว สมมุติว่า x & y เป็นจำนวนเต็ม จากนั้นเราจะกำหนดค่าสุ่มให้กับจำนวนเต็มเหล่านี้ หลังจากกำหนดค่า เราจะใช้ตัวดำเนินการโมดูลัสกับค่าทั้งสองนี้เป็น 'ตัวหาร % เงินปันผล' และจะเก็บค่านี้ไว้ในตัวแปรอื่น จากนั้น เราจะแสดงตัวแปรนั้นโดยใช้ฟังก์ชันการพิมพ์









เอาท์พุท:



ส่วนที่เหลือในผลลัพธ์ได้ส่งคืนค่าเท่ากับศูนย์ ซึ่งหมายความว่า x หารด้วย y ลงตัว ดังนั้น x เป็นตัวประกอบของ y





ตัวอย่าง # 02
ในตัวอย่างที่สองนี้ เราจะเรียนรู้ว่าเราจะใช้ตัวดำเนินการโมดูลัสในห่วงโซ่เพื่อคำนวณโมดูลัสของตัวแปรมากกว่าสองตัวได้อย่างไร อันดับแรก เราจะกำหนดประเภทข้อมูลของตัวแปร ในกรณีนี้ เราจะใช้ตัวแปรสามตัวและจะคำนวณโมดูลัสลูกโซ่ เลือกตัวแปรสามตัวโดยการสุ่ม เช่น x, y, z ที่มีประเภทข้อมูลเดียวกันเป็นจำนวนเต็มและเริ่มต้นโดยการกำหนดค่าต่างๆ ให้กับตัวแปรแต่ละตัว จากนั้น ใช้ตัวดำเนินการโมดูลัสกับตัวแปรทั้งสามนี้เป็น “x% y% z” แสดงโดยใช้ “cout <<” ซึ่งสามารถทำได้โดยการรันโค้ดต่อไปนี้ในตัวแก้ไขโค้ด:



เอาท์พุท:

โมดูลัสของ x % y ที่ 13% 5 ออกมาเป็น 3 และโมดูลัส (x % y) % z เช่น (3) % 2 เท่ากับ 1 นี่คือเหตุผลที่ผลลัพธ์ของเราออกมาเท่ากับหนึ่งพอดี

ตัวอย่าง #03
เราได้นำโมดูลัสไปใช้กับตัวแปรที่มีชนิดข้อมูลเดียวกันหรือชนิดข้อมูลซึ่งรวมกันได้กับตัวดำเนินการโมดูลัส ในตัวอย่างนี้ เราจะเรียนรู้ข้อจำกัดของการทำงานของตัวดำเนินการโมดูลัส ตัวดำเนินการโมดูลัสไม่ทำงานบนชนิดข้อมูลแบบลอยตัวและแบบคู่ ในการตรวจสอบ ลองมาดูตัวอย่างที่เราจะกำหนดตัวแปรสองตัวด้วยประเภทข้อมูล float และจะใช้โมดูลัสกับตัวแปรเหล่านั้น ผลลัพธ์สามารถเห็นได้ในผลลัพธ์ต่อไปนี้

ในตัวอย่างเมื่อเราใช้ float เป็นประเภทข้อมูลของตัวแปรสองตัว 'a' และ 'b' และกำหนดค่าลอยตัวเช่น 13.4 และ 5.5 ตามลำดับ ตัวดำเนินการโมดูลัสทำงานได้ไม่ดีกับตัวแปรสองตัวนี้ และมีข้อผิดพลาดในการรวบรวมที่ชี้ไปที่ประเภทข้อมูลลอย

ตัวอย่าง # 04
ด้วยความช่วยเหลือของตัวดำเนินการโมดูลัส เรายังสามารถค้นหาได้ว่าจำนวนนั้นเป็นเลขคู่หรือคี่ เราสามารถใช้ฟังก์ชันนี้ในแอปพลิเคชันที่เราต้องการตรวจสอบค่าคี่และค่าคู่ ในการหาจำนวนคู่ เราแค่เอาโมดูลัสของจำนวนนั้นด้วย 2 หากเศษเหลือออกมาเป็น 1 หรือจำนวนอื่นที่ไม่ใช่ 0 ตัวเลขจะเป็นเลขคี่ หากเศษเหลือเป็น 0 ตัวเลขจะเป็นคู่ เราได้พยายามใช้แนวคิดนี้ด้วยรหัสที่ระบุด้านล่าง:

เอาท์พุท:

จำนวนเต็ม “a” ถูกกำหนดให้เป็นค่า 4 และนำโมดูลัสของมันเป็น 2 ส่วนที่เหลือให้ผลลัพธ์เป็นศูนย์ซึ่งหมายความว่า 'a' เป็นจำนวนคู่

ตัวอย่าง # 05
ตัวอย่างนี้จะแสดงให้เห็นว่าเราสามารถใช้ประโยชน์จากตัวดำเนินการโมดูลัสของตัวดำเนินการโหมดได้อย่างไร หากเราต้องการสร้างจำนวนเต็มที่น้อยกว่าค่าที่ระบุหรือจำนวนเต็ม เราจะใช้ฟังก์ชัน rand ซึ่งค่าจะถูกใช้โดยตัวดำเนินการโมดูลัสเพื่อจับคู่กับขีดจำกัดบนที่ต้องการของค่าสูงสุดที่ระบุ อันดับแรก เราจะนำเข้าไลบรารีที่สำคัญทั้งหมดเป็น:

$ #include
$ #include <เวกเตอร์>
$ #include

เมื่อใช้เนมสเปซ std เราจะนำเข้า vector, endl (เพื่อสิ้นสุดคำสั่ง), cout (เพื่อแสดง) และ cin หลังจากขั้นตอนนี้ เราจะกำหนดขีดจำกัดสูงสุด ซึ่งในตัวอย่างนี้คือ 1000 จากนั้น เราจะกำหนดจำนวนตัวเลขที่เราต้องการสร้างให้เท่ากับ 10 โดยหลัก เราจะเรียกใช้ดัชนีสูงสุด จำกัด และจะสร้างตัวเลขโดยใช้ฟังก์ชัน rand โดยจับคู่ค่าที่ส่งคืนกับโมดูลัสของขีด จำกัด สูงสุดและจะแสดงผลลัพธ์

เอาท์พุท:

รหัสด้านบนได้สร้างผลลัพธ์ที่มีการสร้างตัวเลขสิบตัวซึ่งน้อยกว่าหนึ่งพันเนื่องจากเราได้กำหนดขีดจำกัดสูงสุดของตัวเลขที่จะสร้างให้น้อยกว่าหนึ่งพันและรวมเป็นสิบในตัวเลข

บทสรุป

ด้วยความช่วยเหลือของคู่มือนี้ เราสามารถค้นหาว่าตัวดำเนินการโมดูลัสคืออะไร ไวยากรณ์คืออะไร และเราจะค้นหาการใช้ตัวดำเนินการโมดูลัสในแอปพลิเคชันต่างๆ ได้อย่างไร เราได้แก้ไขตัวอย่างต่างๆ ที่เกี่ยวข้องกับการใช้งานโมดูลัสโอเปอเรเตอร์ในแอปพลิเคชัน C++ ที่แตกต่างกัน นอกจากนี้เรายังได้เรียนรู้เกี่ยวกับข้อจำกัดของตัวดำเนินการโมดูลัสด้วย