ตัวด ำเนินกำรของโปรแกรม C51 -...

Preview:

Citation preview

บทท 5 ตวด ำเนนกำรของโปรแกรม C51

5.1 บทน ำ

โดยทวไปโปรแกรมภาษาซใชตวด าเนนการเปนตวเชอมในการเขยนโปรแกรมเพอหาผลลพธทตองการ ตวด าเนนการคอเครองหมายก าหนดกรรมวธทางคณตศาสตร พชคณตบลน การเปรยบเทยบ ระหวางขอมลสองตวซงเรยกวาตวถกด าเนนการ โดยอาจมคาเปนตวเลข ขอความ คาคงทหรอตวแปรตางๆ ส าหรบตวด าเนนการของโปรแกรม C51 สามารถแบงได 3 กลมคอ ตวด าเนนการทางคณตศาสตร ตวด าเนนการเปรยบเทยบและลอจก และตวด าเนนการทางบต ในบทนไดน าเสนอตวด าเนนการ ทเกยวของดงกลาว

5.2 ตวด ำเนนกำรทำงคณตศำสตร

ตวด าเนนการทางคณตศาสตรเปนตวเชอมในการเขยนโปรแกรมเพอหาผลลพธจากการค านวณ ซงสามารถกระท ากบขอมลไดหลายแบบ เชน การบวก การลบ การคณ การหาร เปนตน ตวด าเนนการทางคณตศาสตรแสดงในตารางท 5.1

ตารางท 5.1 ตวด าเนนการทางคณตศาสตรส าหรบโปรแกรม C51

ตวด ำเนนกำร ควำมหมำย + การบวก - การลบ * การคณ / การหาร % การหารแบบเอาเศษ ++ การเพมคาขนอกคาหนง -- การลดคาลงอกคาหนง += การบวกขนอกดวยคาทางขวามอ -= การลดคาลงอกคาดวยคาทางขวามอ *= การคณดวยคาทางขวามอ /= การหารดวยคาทางขวามอ %= การหารดวยคาทางขวามอแบบเอาเศษ

ทมา: ประจน พลงสนตกล และชยวฒน ลมพรจตรวไล, 2550, หนา 162.

84

การท างานของตวด าเนนการทางคณตศาสตร แสดงดงตวอยางท 5.1–5.5 ตวอยำงท 5.1 โปรแกรมการใชงานตวด าเนนการทางคณตศาสตร

ผลลพธของกำรรนโปรแกรม

บรรทดท 4 ตวแปร a = 12 บรรทดท 5 ตวแปร b = 12 บรรทดท 6 ตวแปร a บวก 3 แลวน าผลลพธทไดเกบไวท a บรรทดท 7 ตวแปร b ลบ 3 แลวน าผลลพธทไดเกบไวท b

ตวอยำงท 5.2 โปรแกรมการใชงานตวด าเนนการทางคณตศาสตร

ผลลพธของกำรรนโปรแกรม

บรรทดท 4 ประกาศตวแปร x, y, z บรรทดท 5 ตวแปร x = 10 บรรทดท 6 ตวแปร y = x/10 เปนการหารทเกบเอาเฉพาะผลลพธเลขจ านวนเตม บรรทดท 7 ตวแปร z = x%3 เปนการเกบเอาเฉพาะผลลพธเลขทเปนเศษของการหาร

85

ตวอยำงท 5.3 โปรแกรมการใชงานตวด าเนนการทางคณตศาสตร

ผลลพธของกำรรนโปรแกรม

บรรทดท 4 ตวแปร a = 5 บรรทดท 5 ตวแปร b = 5 บรรทดท 6 ก าหนดใหคา a บวกกบ 1 แลวน าผลลพธทไดไปเกบไวท a บรรทดท 7 ก าหนดใหคา b ลบกบ 1 แลวน าผลลพธทไดไปเกบไวท b

ตวอยำงท 5.4 โปรแกรมการใชงานตวด าเนนการทางคณตศาสตร

ผลลพธของกำรรนโปรแกรม

บรรทดท 4 ตวแปร a = 100 บรรทดท 5 ตวแปร b = 100 บรรทดท 6 ก าหนดใหคา a บวกกบ 10 แลวน าผลลพธทไดไปเกบไวท a บรรทดท 7 ก าหนดใหคา b ลบกบ 10 แลวน าผลลพธทไดไปเกบไวท b

86

ตวอยำงท 5.5 โปรแกรมการใชงานตวด าเนนการทางคณตศาสตร

ผลลพธของกำรรนโปรแกรม

บรรทดท 4 ประกาศตวแปร x, y, z บรรทดท 5 ตวแปร x, y, z มคาเทากนคอ 120 บรรทดท 6 ก าหนดใหคา x คณ 4 แลวน าผลลพธทไดไปเกบไวท x บรรทดท 7 ก าหนดใหคา y หาร 4 แลวน าผลลพธทไดไปเกบไวท y บรรทดท 8 ก าหนดใหคา z หาร 4 แลวเกบเอาเฉพาะผลลพธเลขทเปนเศษของ การหาร

5.3 ตวด ำเนนกำรเปรยบเทยบและลอจกระดบไบต

ตวด าเนนการเปรยบเทยบและลอจกโดยทวไปใชส าหรบการตดสนใจการท างานของโปรแกรม โดยจะใหผลลพธจากการตรวจสอบเปนจรง (True) หรอเปนเทจ (False) เทานน โดยหากเงอนไขเปนจรงจะใหผลลพธเปน 1 และหากเงอนไขเปนเทจจะใหผลลพธเปน 0 การท างานของตวด าเนนการในกลมนแสดงไดดงตารางท 5.2

87

ตารางท 5.2 ตวด าเนนการเปรยบเทยบและลอจกของขอมลระดบไบต

ตวด ำเนนกำรของ ขอมลระดบไบต

ควำมหมำย

== เทากบ != ไมเทากบ > มากกวา < นอยกวา >= มากกวาหรอเทากบ <= นอยกวาหรอเทากบ ! นอต (NOT)

&& แอนด (AND) || ออร (OR)

ทมา: ประจน พลงสนตกล และชยวฒน ลมพรจตรวไล, 2550, หนา 166.

ส าหรบตวด าเนนการดานลอจกทส าคญและใชส าหรบการตดสนใจการท างานของโปรแกรม ไดแก ตวด าเนนการ NOT, AND และ OR สามารถอธบายการท างานได ดงน

5.3.1 ตวด ำเนนกำร NOT ของขอมลระดบไบต

ผลลพธการกระท าดวยตวด าเนนการ NOT (!) จะไดผลลพธทตรงกนขาม ดงตารางท 5.3

ตารางท 5.3 ผลลพธทไดจากตวด าเนนการ NOT (!) ของขอมลระดบไบต

คำเรมตน ตวด ำเนนกำร NOT ผลลพธทได False ! (False) True True ! (True) False

5.3.2 ตวด ำเนนกำร AND ของขอมลระดบไบต

ผลลพธของการตวด าเนนการ AND จะเปนเทจทนทหากตวถกด าเนนการตวใดตวหนงหรอทงคเปนเทจ แสดงไดดงตารางท 5.4

88

ตารางท 5.4 ผลลพธทไดจากตวด าเนนการ AND (&&) ของขอมลระดบไบต

คำเรมตน ตวด ำเนนกำร AND

ผลลพธทได ตวแปร 1 ตวแปร 2

False False False && False False False True False && True False True False True && False False True True True && True True

5.3.3 ตวด ำเนนกำร OR ของขอมลระดบไบต

ผลลพธของตวด าเนนการ OR (||) ของขอมลระดบไบตจะเปนจรง หากตวถกด าเนนการตวใดตวหนงหรอทงคเปนจรง แสดงไดดงตารางท 5.5

ตารางท 5.5 ผลลพธทไดจากตวด าเนนการ OR (||) ของขอมลระดบไบต

คำเรมตน ตวด ำเนนกำร OR ผลลพธทได ตวแปร 1 ตวแปร 2

False False False || False False False True False || True True True False True || False True True True True || True True

การท างานของตวด าเนนการเปรยบเทยบและลอจกแสดงดงตวอยางท 5.6 และ 5.7

ตวอยำงท 5.6 โปรแกรมการใชงานตวด าเนนการเปรยบเทยบ

89

ผลลพธของกำรรนโปรแกรม

บรรทดท 6 ตวแปร a = 10 บรรทดท 7 ตวแปร b = 14 บรรทดท 8 ตวแปร c = 0x0A บรรทดท 9 ตวแปร y1, y2, y3, y4, y5, y6 บรรทดท 10 เงอนไข a มากกวา b เงอนไขเปนจรง (y1 = 1) บรรทดท 11 เงอนไข a มากกวา c เงอนไขเปนเทจ (y2 = 0)

บรรทดท 12 เงอนไข a มากกวาหรอเทากบ c เงอนไขเปนจรงเพราะ 0x0A = 10 (y3= 1)

บรรทดท 13 เงอนไข a เทากบ b เงอนไขเปนเทจ (y4 = 0) บรรทดท 14 เงอนไข a ไมเทากบ b เงอนไขเปนจรง (y5 = 1) บรรทดท 15 เงอนไข a ไมเทากบ c เงอนไขเปนเทจ (y6 = 0)

ตวอยำงท 5.7 โปรแกรมการใชงานตวด าเนนการเปรยบเทยบ

90

ผลลพธของกำรรนโปรแกรม

บรรทดท 4-6 ตวแปร a = 10, b = 4 และ c = 0x0A บรรทดท 7 ตวแปร y1, y2, y3, y4 บรรทดท 8 เงอนไข (a>b) && (a >= c) เงอนไขเปนจรง (y1 = 1) บรรทดท 9 เงอนไข a != b) && (a >= c) เงอนไขเปนจรง (y2 = 1)

บรรทดท 10 เงอนไข (a != b) || (a >= c) เงอนไขเปนจรง (y3 = 1) บรรทดท 11 เงอนไข (a != b) || ! (a != b) เงอนไขเปนจรง (y4 = 1)

5.4 ตวด ำเนนกำรเชงเปรยบเทยบและเชงลอจกของขอมลระดบบต

ตวด าเนนการทางบตเปนการกระท าทเขาถงขอมลระดบบต โดยทคาขอมลของแตละบตเปนได 2 คาคอ 0 หรอ 1 เทานน ตวด าเนนการทางบตทส าคญแสดงไดดงตารางท 5.6

ตารางท 5.6 การกระท าของตวด าเนนการเชงเปรยบเทยบและเชงลอจกของขอมลระดบบต

ตวด ำเนนกำรระดบบต ควำมหมำย ~ กลบคาของบตขอมล & การแอนบต | การออรบต

^ การเอกซคลซฟ-ออรบต << เลอนบตไปทางซาย >> เลอนบตไปทางขวา <<== เลอนบตไปทางซายแลวใหเทากบ >>== เลอนบตไปทางขวาแลวใหเทากบ &= ท าการแอนดแลวใหเทากบ |= ท าการออรแลวใหเทากบ ^= ท าการเอกซคลซฟ-ออรแลวใหเทากบ

ทมา: ประจน พลงสนตกล และชยวฒน ลมพรจตรวไล, 2550, หนา 168.

91

ส าหรบตวด าเนนการเชงเปรยบเทยบและเชงลอจกของขอมลระดบบตทส าคญ สามารถอธบายได ดงน

5.4.1 ตวด ำเนนกำร NOT ของขอมลระดบบต

ผลลพธของการกระท าดวยการกลบคาของบตขอมลจะไดผลลพธทตรงกนขาม แสดงไดดงตารางท 5.7

ตารางท 5.7 ผลลพธของตวด าเนนการ NOT ของขอมลระดบบต

คำเรมตน ตวด ำเนนกำร NOT ผลลพธทได 0 ~ (0) 1 1 ~ (1) 0

5.4.2 ตวด ำเนนกำร AND ของขอมลระดบบต

ผลลพธของการกระท าดวยตวด าเนนการแอนดบตจะเปน 0 หากตวใดตวหนงหรอทงค เปน 0 แสดงไดดงตารางท 5.8

ตารางท 5.8 ผลลพธของตวด าเนนการ AND ของขอมลระดบบต

คำเรมตน ตวด ำเนนกำร AND

ผลลพธทได ตวแปร 1 ตวแปร 2

0 0 0 & 0 0 0 1 0 & 1 0 1 0 1 & 0 0 1 1 1 & 1 1

5.4.3 ตวด ำเนนกำร OR ของขอมลระดบบต

ผลลพธของการกระท าดวยตวด าเนนการออรบตจะเปน 1 หากตวใดตวหนงหรอทงคเปน 1 แสดงไดดงตารางท 5.9

92

ตารางท 5.9 ผลลพธของตวด าเนนการ OR ของขอมลระดบบต

คำเรมตน ตวด ำเนนกำร OR ผลลพธทได ตวแปร 1 ตวแปร 2

0 0 0 | 0 0 0 1 0 | 1 1 1 0 1 | 0 1 1 1 1 | 1 1

5.4.4 ตวด ำเนนกำรเอกซคลซฟ-ออรของขอมลระดบบต

ผลลพธของการกระท าดวยตวด าเนนการเอกซคลซฟ-ออรบตจะเปน 0 ทนท หาก ตวถกด าเนนการทงคมคาเหมอนกน แสดงไดดงตารางท 5.10

ตารางท 5.10 ตวด าเนนการเอกซคลซฟ-ออรของขอมลระดบบต

คำเรมตน ตวด ำเนนกำร เอกซคลซฟ-ออร

ผลลพธทได ตวแปร 1 ตวแปร 2

0 0 0 ^ 0 0 0 1 0 ^ 1 1 1 0 1 ^ 0 1 1 1 1 ^ 1 0

5.4.5 ตวด ำเนนกำรเลอนบต

ตวด าเนนการนท าหนาทเลอนบตขอมลไปทางซายหรอขวา โดยการเลอนบตจะตองระบจ านวนครงการเลอนดวยวา ตองการใหมการเลอนกครง เชน

a = a << 4; // ใหเลอนบตคาขอมล a ไปทางซาย 4 ครงแลวผลลพธทไดเกบไวท a เหมอนเดม

b = b >> 1; // ใหเลอนบตคาขอมล b ไปทางขวา 1 ครงแลวผลลพธทไดเกบไวท b เหมอนเดม

93

ตวอยางการท างานของตวด าเนนการเชงเปรยบเทยบและเชงลอจกของขอมลระดบบตแสดงดงตวอยางท 5.8–5.11

ตวอยำงท 5.8 โปรแกรมการใชงานตวด าเนนการเชงเปรยบเทยบและเชงลอจกของขอมลระดบบต

ผลลพธของกำรรนโปรแกรม

บรรทดท 4 ตวแปร a = 5 บรรทดท 5 ตวแปร b = 7 บรรทดท 6 ตวแปร y1, y2, y3, y4 บรรทดท 7 ด าเนนการกลบคาของบตขอมลตวแปร a แลวน าผลลพธเกบไวทตวแปร y1 บรรทดท 8 ด าเนนการแอนดบตระหวาง a กบ b แลวน าผลลพธเกบไวทตวแปร y2 บรรทดท 9 ด าเนนการเอกซคลซฟ-ออรบตระหวางตวแปร a กบ b แลวน าผลลพธเกบ ไวทตวแปร y3

ตวอยำงท 5.9 โปรแกรมการใชงานตวด าเนนการเชงเปรยบเทยบและเชงลอจกของขอมลระดบบต

94

ผลลพธของกำรรนโปรแกรม

บรรทดท 6 ตวแปร a = 0x9C (0b10011100) บรรทดท 7 ตวแปร b = 0x46 (0b01000110) บรรทดท 8 ตวแปร c = 0 บรรทดท 9 ด าเนนการแอนดบตระหวางตวแปร a กบ c ผลลพธเกบไวทตวแปร y1 บรรทดท 10 ด าเนนการออรบตระหวางตวแปร a กบ ~c ผลลพธเกบไวทตวแปร y2 บรรทดท 11 ด าเนนการแอนดบตระหวางตวแปร a กบ b ผลลพธเกบไวทตวแปร y3 บรรทดท 12 ด าเนนการออรบตระหวางตวแปร a กบ b ผลลพธเกบไวทตวแปร y4 บรรทดท 13 ด าเนนการเอกซคลซฟ-ออรบตระหวางตวแปร a กบ b ผลลพธเกบไวท ตวแปร y5

จากตวอยางท 5.9 สามารถแสดงรายละเอยดการด าเนนการทางบตไดดงตารางท 5.11

ตารางท 5.11 ผลลพธของตวด าเนนการเชงเปรยบเทยบและเชงลอจกของขอมลระดบบต

ตวแปร บตขอมล ผลลพธ b7 b6 b5 b4 b3 b2 b1 b0

a 1 0 0 1 1 1 0 0 0x9C b 0 1 0 0 0 1 1 0 0x46 c - - - - - - - 0 0 ~c - - - - - - - 1 1

y1 = a & c 0 0 0 0 0 0 0 0 0x00 y2 = a | (~c) 1 0 0 1 1 1 0 1 0x9D y3 = a & b 0 0 0 0 0 1 0 0 0x04 y4 = a | b 1 1 0 1 1 1 1 0 0xDE y5 = a ^ b 1 1 0 1 1 0 1 0 0xDA

95

ตวอยำงท 5.10 โปรแกรมการใชงานตวด าเนนการเลอนขอมล

ผลลพธของกำรรนโปรแกรม

บรรทดท 5 ตวแปร a = 0x01 (0b00000001) บรรทดท 6 ตวแปร a เลอนบตขอมลไปดานซาย 1 ครง ผลลพธเกบไวทตวแปร y1

บรรทดท 7 ตวแปร a เลอนบตขอมลไปดานซาย 2 ครง ผลลพธเกบไวทตวแปร y2 บรรทดท 8 ตวแปร a เลอนบตขอมลไปดานซาย 3 ครง ผลลพธเกบไวทตวแปร y3 บรรทดท 9 ตวแปร a เลอนบตขอมลไปดานซาย 4 ครง ผลลพธเกบไวทตวแปร y4

จากตวอยางท 5.10 สามารถแสดงรายละเอยดการด าเนนการทางบตไดดงตารางท 5.12

ตารางท 5.12 ผลลพธของตวด าเนนการเลอนบต

ตวแปร บตขอมล ผลลพธ b7 b6 b5 b4 b3 b2 b1 b0

a 0 0 0 0 0 0 0 1 0x01 y1 = a << 1 0 0 0 0 0 0 1 0 0x02 y2 = a << 2 0 0 0 0 0 1 0 0 0x04 y3 = a << 3 0 0 0 0 1 0 0 0 0x08 y4 = a << 4 0 0 0 1 0 0 0 0 0x10

96

ตวอยำงท 5.11 โปรแกรมการใชงานตวด าเนนการทางบต

ผลลพธของกำรรนโปรแกรม

บรรทดท 5 ตวแปร a = b = c = 0xAA (0b10101010) บรรทดท 6 ตวแปร a แอนดบตกบขอมล 0xF0 แลวน าผลลพธเกบไวทตวแปร a

บรรทดท 7 ตวแปร b ออรบตกบขอมล 0xF0 แลวน าผลลพธเกบไวทตวแปร b บรรทดท 8 ตวแปร c เอกซคลซฟ-ออรบตกบขอมล 0xF0 แลวน าผลลพธเกบไวท

ตวแปร c

จากตวอยางท 5.11 สามารถแสดงรายละเอยดการด าเนนการทางบตไดดงตารางท 5.13

ตารางท 5.13 ผลลพธของตวด าเนนการทางบต

ตวแปร บตขอมล ผลลพธ b7 b6 b5 b4 b3 b2 b1 b0

a = b = c 1 0 1 0 1 0 1 0 0xAA 0xF0 1 1 1 1 0 0 0 0 0xF0 0x55 0 1 0 1 0 1 0 1 0x55

a &= 0xF0 1 0 1 0 0 0 0 0 0XA0 b |= 0xF0 1 1 1 1 1 0 1 0 0xFA c ^= 0x55 1 1 1 1 1 1 1 1 0xFF

97

5.5 กำรใชประโยชนจำกตวด ำเนนกำรทำงลอจกกบขอมลในระดบบต

ในบางครงการเขยนโปรแกรมอาจมความจ าเปนตองตดขอมลทไดบางสวนออกเพอน าผลลพธทไดไปใชประโยชนอยางอน ในทนไดยกตวอยางการเลอกใชขอมลบางบตทตองการไปใชงานอธบายไดดงน

5.5.1 กำรน ำเฉพำะขอมล 4 บตบนไปใชงำน

การน าเฉพาะขอมล 4 บตบนไปใชงาน ตองเคลยรขอมล 4 บตลางใหเปน 0 มวธการท าคอน าขอมลดงกลาวไปแอนดกบ 0xF0 สามารถแสดงการใชงานไดดงตวอยางท 5.12

ตวอยำงท 5.12 โปรแกรมการน าเฉพาะขอมล 4 บตบนไปใชงาน

ผลลพธของกำรรนโปรแกรม

บรรทดท 5 ตวแปร a = 0xAA (0b10101010) บรรทดท 6 แอนดบตขอมลระหวางตวแปร a กบ 0xF0 แลวน าผลลพธเกบไวทตวแปร y

จากตวอยางท 5.12 สามารถแสดงรายละเอยดการน าเฉพาะขอมล 4 บตบนไปใชงานไดดงตารางท 5.14

ตารางท 5.14 ผลลพธของการน าเฉพาะขอมล 4 บตบนไปใชงาน

ตวแปร บตขอมล ผลลพธ b7 b6 b5 b4 b3 b2 b1 b0

a 1 0 1 0 1 0 1 0 0xAA - 1 1 1 1 0 0 0 0 0xF0

a & 0xF0 1 0 1 0 0 0 0 0 0xA0

98

5.5.2 กำรน ำเฉพำะขอมล 4 บตลำงไปใชงำน

การน าเฉพาะขอมล 4 บตลางไปใชงาน ตองเคลยรขอมล 4 บตบนใหเปน 0 โดยใหน าขอมลทตองการไปแอนดกบ 0x0F จะท าใหคา 4 บตบนกลายเปน 0 สามารถแสดงการใชงานไดดง ตวอยางท 5.13

ตวอยำงท 5.13 โปรแกรมการน าเฉพาะขอมล 4 บตลางไปใชงาน

ผลลพธของกำรรนโปรแกรม

บรรทดท 5 ตวแปร a = 0xAA (0b10101010) บรรทดท 6 ตวแปร a แอนดบตกบขอมล 0x0F แลวน าผลลพธเกบไวทตวแปร y

จากตวอยางท 5.13 สามารถแสดงรายละเอยดการน าเฉพาะขอมล 4 บตลางไปใชงาน ไดดงตารางท 5.15

ตารางท 5.15 ผลลพธของการน าเฉพาะขอมล 4 บตลางไปใชงาน

ตวแปร บตขอมล ผลลพธ b7 b6 b5 b4 b3 b2 b1 b0

a 1 0 1 0 1 0 1 0 0xAA - 0 0 0 0 1 1 1 1 0x0F

a & 0x0F 0 0 0 0 1 0 1 0 0x0A

99

5.5.3 กำรเลอกแปลงขอมลบำงบต

ถาตองการใหขอมลทบตใดเปน 1 ใหน าขอมลนนไปออรกบคาคงทคาหนงทมบตต าแหนงดงกลาวเปน 1 เนองจากขอมล 1 ออรกบคาใดๆ จะไดผลลพธเปน 1 แสดงไดดงตวอยางท 5.14

ตวอยำงท 5.14 โปรแกรมการแปลงขอมลบางบต

ตองการใหบต 0 บต 4 และบต 7 ของตวแปร a เปน 1 โดยทบตอนยงมคาเทาเดมโดยสมมตวาตวแปร a มคาเทากบ 0xAA ดงนนคาคงททจะน ามาออรดวยคอ 10010001B หรอ 0x91

ผลลพธของกำรรนโปรแกรม

บรรทดท 5 ตวแปร a = 0xAA (0b10101010) บรรทดท 6 ตวแปร a ออรบตกบขอมล 0x91 แลวน าผลลพธเกบไวทตวแปร y

จากตวอยางท 5.14 สามารถแสดงรายละเอยดการท าขอมลบต 0 บต 4 และบต 7 เปน 1 ไดดงตารางท 5.16

ตารางท 5.16 ผลลพธของการท าใหขอมลบต 0, 4 และ 7 มคาเปน 1

ตวแปร บตขอมล ผลลพธ b7 b6 b5 b4 b3 b2 b1 b0

a 1 0 1 0 1 0 1 0 0xAA - 1 0 0 1 0 0 0 1 0x91

a | 0x91 1 0 1 1 1 0 1 1 0xBB

100

5.6 สรป

ในบทนผเรยนไดท าความเขาใจเกยวกบตวด าเนนการ ซงเปนประโยชนอยางมากในการพฒนาโปรแกรม C51 เพราะวาการด าเนนการตาง ๆ ไดแกการด าเนนการทางคณตศาสตร การเปรยบเทยบและลอจก และการกระท าทางบต เปนสวนส าคญในการด าเนนงานของโปรแกรม หากเกดขอผดพลาดในสวนการด าเนนการเหลาน เชน มการก าหนดและใชงานตวด าเนนการไมถกตองตามเงอนไขการท างาน อาจสงผลกระทบผลตอการท างานของโปรแกรมซงอาจท าใหเกดความเสยหายตอการพฒนางานไมโครคอนโทรลเลอรได

5.7 แบบฝกหดทำยบท

แบบฝกหดมทงหมด 4 ขอ ใหนกศกษาท าแบบฝกหดทกขอ 1. จงค านวณคาของนพจนตอไปน

1.1) 13 / 4 1.2) 13 % 4 1.3) -13 * 4 1.4) -13 * 4 + 8 1.5) 10 * 7 / 4 1.6) 5 * (6 % 4) 1.7) 1.9 + ‘8’

2. จงหาคาทางคณตศาสตรตอไปนโดยใชโปรแกรม C51 ก าหนดตวแปร a, b, c และ d ใหมคาเปน 1, 2, 3 และ 4 ตามล าดบและค านวณคาค าตอบออกมาเปนชนด float

2.1) ba

ab

2.2) 2c

ba

2.3)

c

ba

cb

a

2.4) ab

ba

2.5) 2

dc

ba

101

2.6) abc

cba

acbcab

3. จงอธบายความแตกตางระหวางนพจนตอไปน และหาคานพจนเหลานเมอ x มคาเทากบ 0, 1 และ 10 ตามล าดบ

3.1) x && 0x01 3.2) x & 0x01 3.3) x || 0x0F 3.4) x | 0x0F

4. จงใสคาผลลพธในชองวางใหถกตอง 4.1) ตวด าเนนการเปรยบเทยบและลอจก

X Y X<Y X<=Y X>Y X>=Y X==Y X!=Y 3 3 3 4 4 3

4.2) ตวด าเนนการทางบต

X Y X&&Y X||Y !X !Y X&Y X|Y X!=0 && Y!=0 0 0 0 7 5 0 5 7 8 7

Recommended