Page 46 - PIC18F4550微處理機C語言設計實務
P. 46
PIC18F4550 ฆஈଣዚ C ႧԊணࠇྼਕ
Էνj
if (a && b) c = 1; // ν a ˲ b ேމॆேɽ 0dۆੂБ c=1
if ((a==0) && (b>0)) c = 2; // ν a ഃ 0 ˲ b ɽ 0dۆੂБ c=2
if (a || b) c = 3; // ν a א b މॆɽ 0dۆੂБ c=3
if (!Fun()) c = 4; // νՌό Fun() Ϋෂ࠽މ False ৽0dۆੂБ 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