<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            C語言

            C語言位運算的基礎知識

            時間:2025-04-13 03:32:01 C語言 我要投稿

            C語言位運算的基礎知識

              程序中的所有數在計算機內存中都是以二進制的形式儲存的,位運算就是直接對整數在內存中的二進制位進行操作。下面整理了一些C語言位運算的基礎知識,一起來看看!

            C語言位運算的基礎知識

              一、 位運算符

              在計算機中,數據都是以二進制數形式存放的,位運算就是指對存儲單元中二進制位的運算。C語言提供6種位運算符。

              二、位運算

              位運算符 & |~<< >> ∧ 按優先級從高到低排列的順序是:

              位運算符中求反運算“~“優先級最高,而左移和右移相同,居于第二,接下來的順序是按位與 “&“、按位異或 “∧“和按位或 “|“。順序為~ << >> & ∧ | 。

              例1:左移運算符“<<”是雙目運算符。其功能把“<< ”左邊的運算數的各二進位全部左移若干位,由“<<”右邊的數指定移動的位數,高位丟棄,低位補0。

              例如:

              a<<4

              指把a的各二進位向左移動4位。如a=00000011(十進制3),左移4位后為00110000(十進制48)。

              例2:右移運算符“>>”是雙目運算符。其功能是把“>> ”左邊的運算數的各二進位全部右移若干位,“>>”右邊的數指定移動的位數。

              例如:

              設 a=15,

              a>>2

              表示把000001111右移為00000011(十進制3)。

              應該說明的是,對于有符號數,在右移時,符號位將隨同移動。當為正數時,最高位補0,而為負數時,符號位為1,最高位是補0或是補1 取決于編譯系統的規定。

              例3:設二進制數a是00101101 ,若通過異或運算a∧b 使a的高4位取反,低4位不變,則二進制數b是。

              解析:異或運算常用來使特定位翻轉,只要使需翻轉的位與1進行異或操作就可以了,因為原數中值為1的位與1進行異或運算得0 ,原數中值為0的位與1進行異或運算結果得1。而與0進行異或的位將保持原值。異或運算還可用來交換兩個值,不用臨時變量。

              如 int a=3 , b=4;,想將a與b的值互換,可用如下語句實現:

              a=a∧b;

              b=b∧a;

              a=a∧b;

              所以本題的答案為: 11110000 。


            【C語言位運算的基礎知識】相關文章:

            C語言位運算基礎知識02-20

            C語言位運算05-08

            C語言的位運算05-31

            C語言的位運算的優勢06-21

            C語言位運算詳解07-03

            C語言入門知識:位運算03-04

            c語言位運算符的用法05-28

            C語言位運算和sizeof運算符詳解05-11

            c語言位運算符的用法指導06-02

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看