iT邦幫忙

2021 iThome 鐵人賽

DAY 7
1
自我挑戰組

腦力激盪C++系列 第 7

[Day-7] C++深入運算子

今天來深入研究運算子
有分為以下四種
◆算術運算子
◆關係運算子
◆邏輯運算子
◆位元運算子

特別在位元運算子上
我花了較多的時間去研究
有點燒腦

那現在就來介紹這四種運算子吧
一、算數運算子
https://ithelp.ithome.com.tw/upload/images/20210915/20141707M0AondpvSp.png
除了基本的四則運算的加、減、乘、除,還有其它三個比較特別的。
%:取餘數。舉例→「u = 8%3」,u等於8除以3後取餘數,u就等於2
++:
後遞增→a = u++,u的值會先給a,然後x才加1,u不等於x。
前遞增→a = ++u,u的值會先加1後給a。u等於x。
--:後遞減→a = u--,u的值會先給a,然後x才減1,u不等於x。
前遞減→a = --u,u的值會先減1後給a。u等於x。


二、關係運算子
https://ithelp.ithome.com.tw/upload/images/20210915/20141707GcaLRas7WL.png
關係運算子較常使用在條件判斷式中,其輸出的結果為true或false

三、邏輯運算子
https://ithelp.ithome.com.tw/upload/images/20210915/20141707Aqos1CJsfo.png
邏輯運算子也較常使用在條件判斷式中
AND:兩個運算元或運算式都為true,輸出結果則為true,反之為false。
OR:運算元貨運算式中其中一個為true,輸出結果則為true,反之為false。
NOT:反向,舉例「a=1、b=0」,!a輸出結果為false,!b輸出結果為true。

四、位元運算子
https://ithelp.ithome.com.tw/upload/images/20210915/20141707DjnoDEVgFT.png
首先要將運算元或運算式換算成二進制
「a=1換算為二進制00000001」、「2換算為二進制00000010」

  1. 「&」(兩個數都是1則為1,其餘結果都是0)
    :兩個運算元做AND運算,結果為00000000,轉為十進制為0
    00→0
    01→0
    10→0
    11→1

  2. 「|」(兩個數都是0則為0,其餘結果都是1):
    兩個運算元做OR運算,結果為00000011,轉為十進制為3
    00→0
    01→1
    10→1
    11→1

  3. 「^」(兩個數相同則為0,其餘結果都是1):
    兩個運算元做XOR運算,結果為00000011,轉為十進制為3
    00→0
    01→1
    10→1
    11→0

  4. 「<<」:兩個運算元左移運算,結果為00000100,轉為十進制為4

  5. 「>>」:兩個運算元右移運算,結果為00000000,轉為十進制為0

以上就是我今天練習的成果~
位元運算子真的讓我苦惱許久
如果有說錯的地方
再請大家指教一番~

-End-


上一篇
[Day-6] C++關於運算的小學習
下一篇
[Day-8] if判斷條件式
系列文
腦力激盪C++30

尚未有邦友留言

立即登入留言