Excel BITRSHIFT 函數:將數值進行位元右移 (Bitwise Shift Right) 運算完整指南

Excel BITRSHIFT 函數:將數值進行位元右移 (Bitwise Shift Right) 運算完整指南

📅 發布日期:2026-09-07 🏷️ 分類:數值與數學 Excel 工作表函數
💡 函數速查卡
函數名稱 BITRSHIFT
所屬類別 工程函數 (Engineering) / 數學與三角函數
傳回類型 非負整數 (Non-negative Integer)
常用頻率 ★★☆☆☆

在 Excel 進行位元運算與底層資料解析時,BITRSHIFT 函數用於將指定的十進位數值轉換為二進位後,**向右移動指定的位元數(Bitwise Shift Right)**。在數學邏輯上,每向右移動 1 位,相當於將數值除以 2 並無條件捨去小數(整數除法)。此函數常用於硬體暫存器資料解析、快速進行 2 的次方除法運算以及擷取高位元資料。

一、 基本語法與參數

BITRSHIFT 函數的標準語法結構如下:

=BITRSHIFT(number, shift_amount)
參數 說明 預設值 / 必填
number 要進行右移運算的十進位非負整數,必須大於或等於 0,且小於 2^48 (281,474,976,710,656)。 必填
shift_amount 要向右移動的位元數。若為正數表示向右移動;若為負數則會轉為向左移動(效果等同於 BITLSHIFT)。絕對值必須小於等於 53。 必填

二、 核心功能說明

BITRSHIFT 運算會將數值轉為二進位後向右推進,最右邊溢出的位元會被捨棄,左邊補 0:

例如:計算 BITRSHIFT(13, 2)

  • 數值 13 的二進位表示為:1101
  • 將二進位向右移動 2 個位元,最右側的 01 被捨棄,得到:11 (二進位)
  • 11 轉回十進位即得到 **3**(等同於 INT(13 / 2^2) = INT(3.25) = 3)。

三、 實用公式範例

範例 1:基本數值右移運算

將特定數值進行不同位元數的右移:

' 16 (10000) 右移 2 位 -> 4 (100)
=BITRSHIFT(16, 2)

' 27 (11011) 右移 3 位 -> 3 (011)
=BITRSHIFT(27, 3)

範例 2:高位元資料擷取(搭配 BITAND)

在處理 16 位元暫存器數據時,若前 8 位元(High Byte)代表設備狀態代碼,可先右移 8 位元將其推至低位,再進行擷取:

' A2 為 16 位元數據,先右移 8 位將高位元移至低位,再用 BITAND 遮罩濾出前 8 位元
=BITAND(BITRSHIFT(A2, 8), 255)

範例 3:傳入負數 shift_amount 實現左移

shift_amount 輸入負數時,作用相當於左移運算:

' 右移 -2 位等同於左移 2 位:4 (100) -> 16 (10000)
=BITRSHIFT(4, -2)

四、 常見陷阱與注意事項

⚠️ 注意事項 1:輸入負數或超出範圍傳回 #NUM! 錯誤
number 參數必須介於 0(2^48 - 1) 之間;且 shift_amount 的絕對值不能超過 53。若超出此範圍將傳回 #NUM! 錯誤。
⚠️ 注意事項 2:非整數參數會被自動截斷
若輸入的 numbershift_amount 包含小數,Excel 會自動無條件截斷(Truncate)小數部分僅取整數進行運算。

五、 相關函數推薦

  • BITLSHIFT:對數值進行位元左移(Bitwise Shift Left)運算。
  • BITAND:執行兩數值的位元 AND (邏輯與) 運算。
  • BITOR:執行兩數值的位元 OR (邏輯或) 運算。

六、 官方文件連結

想進一步瞭解微軟官方說明與更多邊界情境,可參考:

留言

相關文章 / 薪資情報

文章載入中...

你可能有興趣

精選文章 / 推薦情報

文章載入中...