Page 46 - PIC18F4550微處理機C語言設計實務
P. 46

PIC18F4550 ฆஈଣዚ C ႧԊணࠇྼਕ


                 Էνj

                   if (a && b) c = 1;           // ৿ν a ˲ b ேމॆ€ேɽ׵ 0dۆੂБ c=1
                   if ((a==0) && (b>0)) c = 2;  // ৿ν a ഃ׵ 0 ˲ b ɽ׵ 0dۆੂБ c=2
                   if (a || b) c = 3;           // ৿ν a א b މॆ€ɽ׵ 0dۆੂБ c=3
                   if (!Fun()) c = 4;    // ৿νՌό Fun() Ϋෂ࠽މ False ৽€0dۆੂБ c=4


                 ■ 位元運算子(Bit Operator):<<、>>

                       ίЗʩ༶ၑɪᒔϞЗʩ̸୅€<<ၾЗʩ̛୅€>>Շࡈ༶ၑɿd̸୅༶ၑɿึ
                 ਗ਼הϞٙЗʩ̸ֻ୅ܸ֛ٙЗᅰd̸ᗙ஗Ꮪ̘̈ٙЗʩึ஗ͯ૝dϾ̛ᗙึ໾ɪ 0i̛

                 ୅༶ၑۆ݊޴ˀdึਗ਼הϞٙЗʩֻ̛୅ܸ֛ٙЗᅰd̛ᗙ஗Ꮪ̘̈ٙЗʩึ஗ͯ૝d
                 ̸ᗙЗʩ໾ 0f͟׵݊Зʩ༶ၑdה˸வᗙࠅ˸ɚආՓᅰڌͪˢ༰࢙׸ə༆f


                              運算子符號            範例                        功能說明
                                  <<          c = a << 5  ਗ਼ a ٙʫ̸࢙୅ 5 ࡈЗʩπɝ cdШ a ʔᜊ
                                  >>         c = b >> 4   ਗ਼ b ٙʫ̛࢙୅ 4 ࡈЗʩπɝ cdШ b ʔᜊ


                 Էνj
                                                     ᜊᅰ aj 0 1 0 1 0 1 1 0
                   c = a << 5
                                                     ഐ؈ cj 1 1 0 0 0 0 0 0


                                                     ᜊᅰ bj 0 1 0 1 0 1 1 0
                   c = b >> 4
                                                     ഐ؈ cj 0 0 0 0 0 1 0 1


                 ■ 遞增(Increment)、遞減(Decrement)運算子

                       ࠅ࿁ᜊᅰ a ჈ᄣ 1 ̙ࣛ˸j

                       a=a+1;cאca++;cאc++a;

                       ࠅ࿁ᜊᅰ a ჈ಯ 1 ̙ࣛ˸j

                       a=a–1;cאca––;cאc––a;


                                    運算子符號            範例                 功能說明
                                       ++a          c = ++a    ΋ੂБ a+1dΎਗ਼ഐ؈ෂഗ c
                                       a++          c = a++    ΋ਗ਼ a ෂഗ cdΎੂБ a+1

                                       ––a          c = ––a    ΋ੂБ a–1dΎਗ਼ഐ؈ෂഗ c
                                       a––          c = a––    ΋ਗ਼ a ෂഗ cdΎੂБ a–1




             36
   41   42   43   44   45   46   47   48   49   50