中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#中有哪些移位運算符

發布時間:2021-07-07 16:18:42 來源:億速云 閱讀:349 作者:Leah 欄目:編程語言

今天就跟大家聊聊有關C#中有哪些移位運算符,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

C#移位運算符中的<< 和 >> 運算符用于執行移位運算。

shift-expression:(移位表達式:)

additive-expression(加法表達式)

shift-expression   <<   additive-expression(移位表達式   <<   加法表達式)

shift-expression   >>   additive-expression(移位表達式   >>   加法表達式)

對于 x << count 或 >> count 形式的運算,應用二元運算符重載決策以選擇特定的運算符實現。操作數轉換為所選運算符的參數類型,結果的類型是該運算符的返回類型。

當聲明重載C#移位運算符時,***個操作數的類型必須總是包含運算符聲明的類或結構,并且第二個操作數的類型必須總是 int。

下面列出了預定義的移位運算符。

C#移位運算符之左移位:

int operator <<(int x, int count);  uint operator <<(uint x, int count);  long operator <<(long x, int count);  ulong operator <<(ulong x, int count);

<< 運算符將 x 向左位移若干個位,具體計算方法如下所述。

放棄 x 中經移位后會超出結果類型范圍的那些高序位,將其余的位向左位移,將空出來的低序位均設置為零。

C#移位運算符之右移位:

int operator >>(int x, int count);  uint operator >>(uint x, int count);  long operator >>(long x, int count);  ulong operator >>(ulong x, int count);

>> 運算符將 x 向右位移若干個位,具體計算方法如下所述。

當 x 為 int 或 long 類型時,放棄 x 的低序位,將剩余的位向右位移,如果 x 非負,則將高序空位位置設置為零,如果 x 為負,則將其設置為 1。

當 x 為 uint 或 ulong 類型時,放棄 x 的低序位,將剩余的位向右位移,并將高序空位位置設置為零。

C#移位運算符的使用:

對于預定義運算符,位移的位數按下面這樣計算:

當 x 的類型為 int 或 uint 時,位移計數由 count 的低序的 5 位給出。換言之,位移計數由 count & 0x1F 計算出。

當 x 的類型為 long 或 ulong 時,位移計數由 count 的低序的 6 位給出。換言之,位移計數由 count & 0x3F 計算出。

如果計算位移計數的結果為零,則移位運算符只返回 x 的值。

移位運算從不會導致溢出,并且在 checked 和 unchecked 上下文中產生的結果相同。

當 >> 運算符的左操作數為有符號的整型時,該運算符執行算術右移位,在此過程中,操作數的最有效位(符號位)的值擴展到高序空位位置。當 >> 運算符的左操作數為無符號的整型時,該運算符執行邏輯右移位,在此過程中,高序空位位置總是設置為零。若要執行與由操作數類型確定的不同的移位運算,可以使用顯式強制轉換。例如,如果 x 是 int 類型的變量,則 unchecked((int)((uint)x >> y)) 運算執行 x 的邏輯右移位。

看完上述內容,你們對C#中有哪些移位運算符有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

罗甸县| 安新县| 黄冈市| 南木林县| 阜阳市| 富平县| 屏东县| 胶南市| 建始县| 平果县| 曲水县| 聂拉木县| 上蔡县| 双鸭山市| 临洮县| 平邑县| 阿瓦提县| 汉寿县| 中卫市| 延寿县| 龙陵县| 乌兰察布市| 沙坪坝区| 江都市| 会昌县| 定日县| 富顺县| 新疆| 招远市| 临高县| 长子县| 万载县| 酒泉市| 镇巴县| 郴州市| 湛江市| 利津县| 临邑县| 钟祥市| 鄢陵县| 循化|