IRONSOFTWAREHOME

C#位運算操作符:理解位移

Binary in C#: Bit Shifting with Bitwise Shift Left and Bitwise Shift Right in 10 minutes or less.

Tim Corey

9m 33s

位元運算子是 C# 的重要部分,允許您操作整數的個別位元。 這些運算子在低階程式設計、性能優化和處理旗標時非常有用。 在本文中,我們將深入探討位移操作,並由Tim Corey的影片Binary in C#: Bit Shifting with Bitwise Shift Left and Bitwise Shift Right in 10 minutes or less進行導引。

位移操作入門

Tim 開始繼續他的 C# 二進位制解釋系列。 本課程是該系列中的第四課,專注於位移操作。 目標是了解向左或向右移動位元如何影響一個數字,以及我們如何在程式設計中使用這種技術。

Tim 設置了一個範例,建立了一個名為 ConvertToBinary 的方法,將整數轉換為其二進位制表示,並確保它以 8 位制格式顯示。 這使得可視化位移操作的工作原理更為容易。

理解位運算左移

Tim 介紹了位運算左移的概念,使用左移運算子 (<<)。 他解釋說,向左移動 n 個位置相當於將數字乘以 2^n

例如,他從數字 9 開始,9 的二進位制為:

00001001

當他向左移動三位 (9 << 3) 時,結果為:

01001000

這個新的二進位值代表 72。Tim 強調,左移基本上是向右新增三個零,即將數字乘以 2 三次(即 9 * 2^3 = 72)。

實際用例:設定個別位元

Tim 解釋說,雖然移動現有的數字很有用,但更常見的做法是將數字 1 移動到指定位置。 例如:

1 << 3

這將位元移動到第四個位置,結果為:

00001000

這個二進位數字等於 8。Tim 指出,該技術尤其在處理位元遮罩或旗標時非常有用。

理解位運算右移

接下來,Tim 透過使用右移運算子 (>>) 解釋位運算右移。 向右移動 n 個位置相當於將數字除以 2^n,並捨去任何餘數。

使用之前的範例,二進位制的 9 (00001001) 向右移動兩位 (9 >> 2) 的結果為:

00000010

這等於 2。Tim 解釋說,右移基本上是從右側移除位元,降低數字的值。

位移操作有何用處

Tim 討論為什麼位移操作在程式設計中有價值。 一些主要的用例包括:

  • 優化計算:位移可以代替兩的冪的乘法和除法,從而使操作更快。

  • 設定和清除特定位元:在基於旗標的列舉中,位移允許高效的儲存和操作布林值。

  • 處理硬體:許多低階硬體操作依賴於位元運算操作。

結論

Tim 總結道,位移操作通常與其他操作結合使用。 了解如何有效地進行位移可以導致更高效和優化的程式碼,特別是在涉及旗標、二進位計算和性能關鍵應用的情境中。

透過跟隨 Tim Corey 的解釋,我們探索了位運算左移和右移如何運作、它們如何影響數字,以及通常在何處使用。 如果您想要更直觀且深入的演示,Tim 的影片是掌握 C# 中位元運算的極佳資料來源。

Earn More by Sharing What You Love

Do you create content for developers working with .NET, C#, Java, Python, or Node.js? Turn your expertise into extra income!

Let's Stay in Touch!

Join our newsletter, you’ll get exclusive access on article updates. We value your privacy

Key in blue circle

立即免費取得 30 天試用金鑰

Your trial license will be sent to your email address

無任何限制。100% 解鎖。無需信用卡。

OR
bullet_checked無需信用卡或建立帳號無任何限制。100% 解鎖。無需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
獲取您的無義務諮詢
填寫以下表格或發送電子郵件至sales@ironsoftware.com
您的詳細資訊將始終保密。
被全球數百萬工程師信任
Iron Software的客戶標誌
立即獲取您的30天試用金鑰
無需信用卡或帳戶建立