將不確定變為確定~一切歸總為“二”(C#中的位元運算有啥用)

來源:互聯網
上載者:User

回到目錄

本文中的“二”,指的是二進位,即看見2就進一,也叫逢二進一,它是最為簡單和清晰的資料,在現實生活中,人們用的最多的就是十進位資料,即逢十進一,看一下例子:

二進位: 十進位

0                         0

01 01

10 02

11 03

100 04

看到了吧,在二進位中,不會出現比1大的數,除了0就是1,而在十進位中,不會出現10,它由0~9這10個數字組成。

在我們的C#中,位元運算分為左位移和右位移,分別用<<和>>表示,左移相當於向左移位,右面補0,例如:

10 << 1  它的含義是10 0,它最後的結果就是100,相當於10進位的4,這時我們難看出左移1位,相當於乘2操作,返之還有右移,例如:

100 >> 1 它的結果就是010,它在左面進行補0,右移後相當於除2操作

通過這個特性,我們在設計具有位去處的Flags特性枚舉時,可以這樣來做了

 

我們將它的值輸出看一下吧

結果如下:

總結:事實上,在無論是十進位還是十六進位或八制的位元運算,計算機都會它將轉換成二進位,然後再進行位移的計算。

回到目錄

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.