[วีดีโอสำหรับย้อนกลับมาดูคำอธิบาย]
Operator Precedence
คือ ลำดับการทำงานของตัวดำเนินการคำนวณ
3 + 4 * 2 บางคนอาจสงสัยว่า ทำไมไม่เท่ากับ 14 !!
นั่นเป็นเพราะว่าคอมพิวเตอร์จะทำการคูณ และหาร ก่อนบวกลบเสมอ
เช่น 3 + 4 * 2 คอมพิวเตอร์จะทำ 4 * 2 ก่อน มีค่าเท่ากับ 8 แล้วค่อยทำ 3 + 8 จึงได้ 11 นั่นเอง
ถ้าอยากให้คอมพิวเตอร์ ทำการบวก ก่อนการคูณ ให้ใส่เครื่องหมายวงเล็บ ( ) ครอบไว้ ดังนี้
นั่นเป็นเพราะว่าคอมพิวเตอร์จะทำการคูณ และหาร ก่อนบวกลบเสมอ
เช่น 3 + 4 * 2 คอมพิวเตอร์จะทำ 4 * 2 ก่อน มีค่าเท่ากับ 8 แล้วค่อยทำ 3 + 8 จึงได้ 11 นั่นเอง
ถ้าอยากให้คอมพิวเตอร์ ทำการบวก ก่อนการคูณ ให้ใส่เครื่องหมายวงเล็บ ( ) ครอบไว้ ดังนี้
คอมพิวเตอร์จะทำการประมวลผลเรียงลำดับดังนี้1. ( ) คอมพิวเตอร์จะทำการคำนวณในวงเล็บก่อนเสมอ
2. * / % จากนั้นจะทำการคูณ หาร มอดูลัส เรียงจากซ้ายไปขวา เจอเครื่องหมายใดก่อน ทำก่อน
3. + - และทำการบวก ลบ เรียงจากซ้ายไปขวาเช่นกัน
ลองมาดูอีกซักตัวอย่าง
เห็นเยอะๆ อย่าเพิ่งตกใจไป ก่อนอื่นขั้นแรกให้หยิบวงเล็บมาทำก่อนเลย
1 + 5 % ( 8 - 4 / 2 * 3 ) * 4
ในวงเล็บให้ทำเครื่องหมาย * / % เจอเครื่องหมายใดก่อน ทำก่อน จากซ้ายไปขวา
ในที่นี้เราเจอ - ก่อนอับดับแรก จะยังไม่ทำข้ามไปก่อน จากนั้นเจอ / ทำเลย 4 / 2 = 2 แทนค่ากลับไปได้
1 + 5 % ( 8 - 2 * 3 ) * 4
จากนั้นเจอ * ทำเลย 2 * 3 = 6 แทนค่ากลับไปได้
1 + 5 % ( 8 - 6 ) * 4
ตอนนี้ยังอยู่ในวงเล็บอยู่ เสร็จจากการทำ * / % แล้ว ค่อยมาทำ + -
ก็จะได้ 8 - 6 = 2 แทนค่ากลับไปได้
1 + 5 % 2 * 4 ในวงเล็บเหลือค่าเดียวแล้ว ถอดวงเล็บออกได้
เมื่อเสร็จจากการทำในวงเล็บแล้ว ต่อไปก็คือทำ * / %
ไ่ล่จากซ้ายไปขวา เจอ + ยังไม่ทำเก็บไว้ก่อน เจอ % ทำเลย 5 % 2 = 1 แทนค่ากลับไปได้
1 + 1 * 4
จากนั้นทำ * ก่อนได้ 1 * 4 = 4 แทนค่ากลับไปได้
1 + 4
สุดท้ายจึงทำการบวกได้ 1 + 4 = 5
5
เป็นอันเสร็จสิ้น
Refer: Link