ไม่พบผลลัพธ์
เราไม่พบอะไรกับคำที่คุณค้นหาในตอนนี้, ลองค้นหาอย่างอื่นดู
เครื่องคำนวณมอดุโลค้นหาส่วนที่เหลือของการหารของตัวเลขเชิงตรรกะ/อตรรกะสองตัวเลขบวก/ลบ นอกจากนี้ คุณยังสามารถค้นหาวิธีค้นหาโมดูลัสด้วยตนเอง
มอดูลโอ
1
เกิดข้อผิดพลาดกับการคำนวณของคุณ
การดำเนินการมอดุโลเป็นวิธีการค้นหาเศษที่เหลือของการดำเนินการหาร ข้อมูลเฉพาะของมอดุโลคือมันให้เศษที่เหลือเป็นจำนวนเต็ม
พิจารณาให้มีลูกสามคน คุณซื้อลูกอมหนึ่งกล่องที่มีจำนวน 20 ชิ้น คุณต้องการแบ่งลูกอมทั้งหมดอย่างสม่ำเสมอและยุติธรรมในหมู่ลูก ๆ ของคุณ และกินขนมที่เหลือด้วยตัวเองโดยไม่จำเป็นต้องตัดหรือหักมัน ลูก ๆ ของคุณยังอยู่ที่โรงเรียน ดังนั้นคุณสามารถกำหนดส่วนที่เหลืออยู่หลังการหารก่อนและกินลูกอมของคุณจำนวนหนึ่ง
นี่คือกรณีที่คุณสามารถใช้การทำงานมอดุโลได้ นอกจากนี้ ยังสามารถแสดงเป็นเครื่องหมาย % หรือ mod สำหรับการดำเนินการด้วยตัวเลขที่มีค่าน้อย คุณสามารถทำการคำนวณในหัวของคุณ หากคุณทำงานกับตัวเลขที่มีค่ามาก คุณจะสะดวกสบายมากขึ้นโดยใช้เครื่องคำนวณมอดุโล
สมการสามารถแสดงได้ดังนี้:
ส่วนปันผล = (ผลหาร × ตัวหาร) + เศษที่เหลือ
ในกรณีของเรา:
หากคุณใช้การดำเนินการมอดุโล คุณสามารถเขียนลงในแบบฟอร์มต่อไปนี้:
x % y = r
หรือ
x mod y = r
โดยที่ x คือส่วนปันผล y คือตัวหารและ r คือเศษที่เหลือ
ในกรณีของเรา
20 % 3 = 2
ลองใช้กรณีเฉพาะเป็นตัวอย่าง
Wayan อาศัยอยู่ในบาหลีและกำลังสร้างเกสต์เฮาส์ขนาดเล็กที่มีที่อยู่อาศัยหกยูนิต เขากำลังจะปูกระเบื้องห้องน้ำ เพื่อนบ้านของเขา Gede ซึ่งได้สร้างโรงแรมเสร็จแล้ว เสนอ Wayan ส่วนลดมากในการซื้อกระเบื้องที่เหลือ
เพื่อนบ้านนับกล่อง 15 กล่องในคลังสินค้าของเขา แต่ละกล่องมีกระเบื้อง 4 (60 × 60 ซม.) และกระเบื้องสองแผ่นตางหาก นั่นคือทั้งหมด 62 แผ่นและ Gede ต้องการขายกระเบื้องทั้งหมดในคราวเดียว
ตอนนี้ Wayan ต้องคิดว่าเขาจะสามารถปูห้องน้ำกี่ห้องด้วยกระเบื้องเหล่านี้ได้ และกระเบื้องกี่แผ่นจะยังคงไม่ถูกใช้?
จะค้นหาโมดูลัสด้วยตนเองโดยไม่มีเครื่องคำนวณตัวดำเนินการโมดูลัสได้อย่างไร?
Wayan วัดขนาดของห้องน้ำมาตรฐานในเกสต์เฮาส์ของเขาและรู้ว่าเขาต้องการกระเบื้องประมาณ 14 แผ่นต่อห้อง
มาทำการคำนวณด้วยตนเองกันเถอะ!
ในวิธีที่ง่ายและสั้น เราสามารถเขียนการดำเนินการนี้ได้เป็น:
62 % 14 = 6
หรือ
62 mod 14 = 6
Wayan ตัดสินใจว่านี่เป็นตัวเลือกที่ดีเพราะเขาควรใช้กระเบื้องสำรองประมาณ 10% สำหรับงานปูกระเบื้องในกรณีที่มีการตัดแต่งหรือความเข้าใจผิด และเขาจะซื้อกระเบื้องสำหรับห้องน้ำอีกสองห้องที่ร้านก่อสร้างท้องถิ่น
เครื่องคำนวณ mod สามารถให้ผลลัพธ์นี้ได้ในเวลาเพียงไม่กี่วินาที
คณิตศาสตร์ประเภทหนึ่งที่เรียกว่า "เลขคณิตแบบมอดุลาร์" เกี่ยวข้องกับโครงสร้างแบบวงจร วิธีที่ง่ายที่สุดในการแสดงสิ่งนี้คือหน้าปัดที่มีวงจร 12 สำหรับนักคณิตศาสตร์ หน้าปัดมี mod 12
หากคุณต้องการดูว่าคุณสามารถหารเวลา 251 ชั่วโมงเป็นวันโดยไม่มีเศษเหลือได้หรือไม่ คุณสามารถใช้การดำเนินการได้
251 mod 24
ผลลัพธ์คือ 11 ดังนั้นคำตอบคือไม่! เราสามารถตอบ "ใช่" ได้ก็ต่อเมื่อผลลัพธ์คือ 0
Daniel ต้องการนั่งรถบัสจากแอตแลนตาไปไมอามี ออกเวลา 13.00 น. และถนนใช้เวลา 15 ชั่วโมง จะถึงเวลาเท่าไหร่เมื่อเขามาถึง? นั่นจะเป็น
1 + 15 mod 12
ซึ่งคือ 4 ในกรณีของเขา จะเป็น 4 โมงเช้า
การใช้งานพื้นฐานที่สุดอย่างหนึ่งของตัวดำเนินการโมดูลัสคือการตรวจสอบว่าตัวเลขเป็นคู่หรือคี่หรือไม่ สิ่งนี้เป็นไปได้เพราะ x% 2 จะให้ 0 หรือ 1 เสมอ ตัวเลขคู่จะให้ 0 เสมอเพราะหารด้วย 2 เท่ากัน ในขณะที่ตัวเลขคี่จะให้เศษเหลือของ 1 เสมอ
กรณีที่พบบ่อยที่สุดของการใช้มอดุโลในการเขียนโปรแกรมคือเมื่อคุณพิมพ์ตารางในแอปพลิเคชันของคุณและต้องการเปลี่ยนสีในแถว คุณอาจต้องการทำสีน้ำเงินอ่อนและสีเทาอ่อน ดังนั้นคุณจึงตรวจสอบมอดุโลเพื่อดูว่าคุณอยู่ในแถวคู่หรือคี่หรือไม่
การแปลงหน่วยเป็นตัวอย่างทั่วไปของการใช้งานในทางปฏิบัติของการดำเนินงานมอดุโล มักจะใช้เมื่อเราต้องการแปลงหน่วยขนาดเล็ก เช่น นาที นิ้ว หรือเซนติเมตร เป็นหน่วยที่ใหญ่กว่า เช่น ชั่วโมง ไมล์ หรือกิโลเมตร เลขทศนิยมหรือเศษส่วนไม่ได้มีประโยชน์เสมอไปในสถานการณ์เช่นนี้
ตัวอย่างเช่น หากเราต้องการทราบจำนวนชั่วโมงใน 373 นาที ผลลัพธ์ที่แสดงเป็น 6 ชั่วโมง 13 นาทีอาจมีค่ามากกว่า 6.21666666666666666666667 ชั่วโมง
การหารมาตรฐาน (ด้วยการปัดเศษเป็นจำนวนเต็มที่ใกล้ที่สุด) กำหนดจำนวนชั่วโมง และการดำเนินการมอดุโลจะใช้เพื่อคำนวณนาทีที่เหลือ ไม่ว่าจะจัดการกับเวลา ระยะทาง ความดัน พลังงาน หรือการจัดเก็บข้อมูล คุณสามารถใช้วิธีการทั่วไปนี้เพื่อแปลงหน่วยได้
อีกตัวอย่างหนึ่งของการใช้การดำเนินการมอดุโลคือการดูว่าปีหนึ่งเป็นปีอธิกสุรทินหรือไม่
ปีอธิกสุรทินเป็นปีปฏิทินที่มีวันพิเศษในปฏิทินสุริยะ วันพิเศษในปีอธิกสุรทินคือวันที่ 29 กุมภาพันธ์
เมื่อวันที่ 1 มกราคม 45 ปีก่อนคริสตกาล Gaius Julius Caesar เผด็จการโรมันได้แนะนำปฏิทินที่พัฒนาขึ้นในกรุงโรมโดยนักดาราศาสตร์ Alexandrian ปฏิทินนี้ขึ้นอยู่กับการคำนวณว่าปีดาราศาสตร์มีประมาณ 365.25 วัน (365 วันและ 6 ชั่วโมง) ปฏิทินนี้เรียกว่าปฏิทินจูเลียน
เพื่อปรับค่ากะหกชั่วโมง Caesar ได้แนะนำปีอธิกสุรทิน เป็นเวลาสามปีติดต่อกัน มี 365 วันในหนึ่งปี และในแต่ละปี ผลคูณของสี่ วันพิเศษหนึ่งวันในเดือนกุมภาพันธ์
อย่างไรก็ตาม เมื่อเวลาผ่านไป ปรากฎว่ากฎนี้เพียงอย่างเดียวไม่เพียงพอ
ปีเขตร้อนโดยเฉลี่ย (เวลาระหว่างอีควิน็อกซ์ฤดูใบไม้ร่วงทั้งสอง) แม่นยำกว่าประมาณ 365 วัน และ 5 ชั่วโมง 49 นาที ความแตกต่างระหว่างปีเฉลี่ยกับปีปฏิทินจูเลียน (365 วันและ 6 ชั่วโมง) อยู่ที่ประมาณ 11 นาที ดังนั้นในเวลาประมาณ 128 ปี 11 นาทีเหล่านั้นอาจเพิ่มขึ้นเป็นวันพิเศษทั้งวัน
เพื่อชดเชยข้อผิดพลาดที่สะสมและเพื่อหลีกเลี่ยงการเปลี่ยนแปลงที่คล้ายกันในอนาคต สมเด็จพระสันตะปาปา Gregory ที่ 13 ได้ปรับปฏิทินในปี 1582 เขาเพิ่มกฎเพิ่มเติมสำหรับปีอธิกสุรทิน ปีอธิกสุรทินยังคงเป็นผลคูณของสี่ปี แต่มีข้อยกเว้นสำหรับปีเหล่านั้นซึ่งเป็นผลคูณของ 100 ปีดังกล่าวเป็นปีอธิกสุรทินก็ต่อเมื่อหารด้วย 400 ลงตัว
กฎสำหรับการกำหนดปีอธิกสุรทินมีดังนี้:
ดังนั้นปี 1700, 1800 และ 1900 จึงไม่ใช่ปีอธิกสุรทิน เนื่องจากเป็นผลคูณของ 100 และไม่ใช่ผลคูณของ 400 ปี 1600 และ 2000 เป็นปีอธิกสุรทิน เนื่องจากเป็นผลคูณของ 400
เรามากลับไปที่ปัญหาของเรากันเถอะ
เรารู้ว่า:
ด้วยสคริปต์ Python ที่เรียบง่าย คุณสามารถบอกได้ว่าปีหนึ่งเป็นปีอธิกสุรทินหรือไม่ มันจะมีลักษณะเช่นนี้:
year = int(input('Enter year: '))
if (year%4 == 0 and year%100 != 0) or (year%400 == 0) :
print(year, "is a leap year.")
else:
print(year, "is not a leap year.")
แอพพลิเคชั่นยอดนิยมของการดำเนินการมอดุโลในการเขียนโปรแกรมรวมถึง:
การจับคู่มอดุโลมักใช้ในฮาร์ดแวร์คอมพิวเตอร์และอุปกรณ์โทรคมนาคมเพื่อสร้างตัวเลขควบคุมและรับตัวเลขสุ่มในช่วงที่จำกัด เช่น เครื่องกำเนิดตัวเลขสุ่มที่สอดคล้องกัน Derrick Henry Lemer เสนอวิธีการที่สอดคล้องกันเชิงเส้นในปี 1949
วิธีการสอดคล้องเชิงเส้นทำงานตามสูตร:
$$X_{n+1} = (a × X_n + c)\mod m$$
ที่ซึ่ง:
ตัวอย่างเช่น สำหรับ m = 11, X₀ = 9, a = 9, c = 9 เราจะได้รับชุดตัวเลขสุ่มต่อไปนี้:
9, 2, 5, 10, 0, 9, 2, 5, 10, 0, 9
นักเข้ารหัสชอบมอดุโล เพราะเมื่อใช้กับตัวเลขที่ใหญ่จริง ๆ คุณสามารถสร้างด้วยมอดุโลบางอย่างที่เรียกว่า "ฟังก์ชันทางเดียว" ฟังก์ชั่นพิเศษเหล่านี้ทำให้การคำนวณบางอย่างในทิศทางเดียวได้ง่ายแต่ไม่ใช่ทิศทางตรงกันข้าม
หาก 9 เป็นผลมาจากการยกกำลัง คุณสามารถตรวจสอบได้อย่างรวดเร็วว่าอินพุตคือ 3 คุณสามารถจินตนาการถึงกระบวนการทั้งหมดต่อหน้าคุณตั้งแต่ต้นจนจบ ถ้าฉันบอกคุณว่า 9 เป็นผลลัพธ์ของ mod 29 มันยากที่จะทราบว่ามีอะไรอยู่ในอินพุต
นักเข้ารหัสชอบแนวคิดนี้เพราะพวกเขาสามารถใช้การการกับเศษที่เหลือเพื่อสร้างตัวเลขเฉพาะขนาดใหญ่เพื่อสร้างคีย์เข้ารหัส
ไม่ว่าคุณจะพยายามกระจายวัตถุอย่างสม่ำเสมอในกล่องเก็บข้อมูล รู้ว่าตัวเลขนั้นหารด้วยตัวเลขอื่นลงตัวหรือไม่ หรือเพียงแค่พยายามคำนวณเวลา มอดุโลมีอยู่เสมอ ในกรณีทั้งหมดเหล่านี้ เศษที่เหลือมีความสำคัญเท่ากับผลหารในการดำเนินการหาร
บางครั้งปัญหาที่เกิดขึ้นนั้นตรงไปตรงไปตรงมาและใช้งานง่าย อย่างไรก็ตาม มันจะดีกว่าเสมอที่จะใช้เครื่องคำนวณโมดูลัสออนไลน์เพื่อค้นหาวิธีแก้ปัญหาเมื่อสิ่งต่าง ๆ ซับซ้อน