🧮 程式設計師計算器
程式設計師計算器可同時處理十六進位、十進位、八進位與二進位,並支援低階程式設計所需的位元運算與固定字組長度。在任何進位輸入數值,應用 AND、OR、XOR、NOT、位移或算術運算於 8、16、32 或 64 位元,並同時在四種進位中讀取結果——完全免費,且僅在瀏覽器中運行,不需上傳任何資料。
程式設計師計算器是一種免費的線上工具,可同時顯示數值的十六進位、十進位、八進位與二進位表示法,並在固定 8、16、32 或 64 位元字組長度下計算位元運算(AND、OR、XOR、NOT、位移)——完全在瀏覽器中運行。
Tip: use your keyboard — digits, A–F, + − * /, & | ^ ~ for AND/OR/XOR/NOT, Enter for =.
隱私優先設計. 此工具完全在您的瀏覽器中執行,您輸入的內容不會上傳,且可離線使用。
關於
程式設計師計算器的運作方式與開發人員實際思考數字的方式一致:以位元和位元組為單位,同時處理多種進位制。您可以輸入十六進位、十進位、八進位或二進位的數值,工具會同時顯示這四種表示法,並在您輸入時即時更新。在顯示區下方,互動式的位元網格讓您可以查看目前數值的每個位元,並只要按一下即可翻轉任何位元,這對於建立位元遮罩、設定旗標或理解暫存器的結構非常有用。
計算器支援所有日常系統程式設計所依賴的位元運算:AND、OR、XOR、NOT、NAND、NOR 和 XNOR,以及邏輯左移和右移(Lsh 和 Rsh)和模運算。您也可以執行一般的整數運算:加、減、乘、除,並取得任何數值的二補數否定。每一個結果都是根據您選擇的字長來計算的:8、16、32 或 64 位元。溢位會像在實際固定寬度硬體中一樣回繞,因此您看到的結果會與您的 C、Rust 或 Go 程式實際產生的結果一致。當您輸入一個無法放入所選字長的數字時,會顯示簡短的提示,並拒絕輸入;當您改變字長時,數值會保持不變:在 Signed 模式下,當您擴展字長時,負數會進行符號擴展(例如 8 位元的 FF,即 -1,會變成 32 位元的 FFFFFFFF,仍然是 -1),無符號值會進行零擴展,而縮小字長時只保留低位元。
Signed 切換按鈕會在無符號和二補數的解釋之間切換十進位顯示,它也會改變除法、模運算和右移的行為:有符號除法會向零截斷,有符號右移會保留符號位元,這與您的編譯器行為一致。內部所有運算都是使用 JavaScript BigInt 進行計算,並根據字長進行遮罩,這表示 64 位元運算都是精確的;這裡從來不會使用那些會導致其他網頁計算器靜默失效的原生 32 位元位元運算子。
這個工具在專業程式設計之外也非常實用。學習電腦架構的學生可以逐位元觀察二補數、符號擴展和溢位的發生;電子與嵌入式愛好者可以組合要傳送至裝置暫存器的精確位元組;任何正在除錯十六進位轉儲、檔案格式或網路封包的人,都可以在不使用臨時腳本的情況下提取個別欄位。因為每種進位制和每個位元都同時可見,因此數值的十六進位表示、其位元和十進位意義的關係始終清晰可見。
由於這個工具針對低階工作設計,它能加快的常見任務包括將十六進位顏色轉換為其 RGB 十進位通道、解碼 Unix 檔案權限位元、從封裝的狀態暫存器中提取欄位、檢查位元遮罩的結果,以及在提交到程式碼之前驗證位移和遮罩運算式。所有運算都在您的瀏覽器中完成:不需要伺服器、不需要帳號,而且您輸入的內容永遠不會離開您的裝置。您的字長、符號模式和目前的數值都會儲存在本機,因此下次使用時,計算器會完全保持您上次離開時的狀態。
如何使用
- 選擇你的字組長度——8、16、32 或 64 位元——並切換「有號」以使用二補數十進位、除法和位移。
- 點選 HEX、DEC、OCT 或 BIN 行選擇輸入進位,然後使用鍵盤或實體鍵盤輸入你的數字。
- 應用運算:點選位元運算按鈕(AND、OR、XOR、NOT、NAND、NOR、XNOR)、位移(Lsh、Rsh)、Mod 或普通 + − × ÷。
- 請輸入第二個運算元(它會根據您選擇的進位制行來讀取,因此如果它在不同的進位制中,請先切換行),然後按下 = 來計算;結果會同時顯示在十六進位、十進位、八進位和二進位中。
- 點選位元網格中的任何位元以直接翻轉它,或使用任何進位行上的複製按鈕將該表示法複製到剪貼簿。
常見問題
- 這個程式設計師計算器是免費、私密且離線的嗎?
- 是的。它完全免費,無需帳號或註冊,所有計算都在瀏覽器中本地運行,使用 JavaScript——你輸入的任何內容都不會上傳。一旦頁面載入,它就可以完全離線使用。
- 這與數字進位轉換器有何不同?
- 進位轉換器只改變數字的寫法。程式設計師計算器還會進行計算:它會在固定字組長度下執行位元邏輯(AND、OR、XOR、NOT)、位移、模運算和算術運算,並讓你檢查和翻轉個別位元——同時仍顯示所有四種進位。
- 8/16/32/64 位元字組長度有什麼作用?
- 字組長度設定值佔用的位元數,就像 C、Rust 或 Go 中的整數類型一樣。結果會被遮罩到該長度,因此溢出會環繞,運算如 NOT 會產生與你的程式相同的值。使用 8 位元表示一個位元組,32 位元表示一個典型的 int,或 64 位元表示一個 long。
- 「有號」切換和二補數是什麼?
- 有號模式使用二補數將最高位元解釋為符號,這幾乎所有 CPU 都使用的表示方式。它會改變十進位顯示——例如在 8 位元中 0xFF 會顯示為 −1——並使除法、模運算和右移行為如同有號運算。關閉它以處理地址或位元旗標等無號值。
- 支援哪些位元運算?
- AND、OR、XOR、NOT、NAND、NOR、XNOR、邏輯左移(Lsh)、右移(Rsh)在無號時為邏輯移位、在有號時為算術移位、模運算、二補數負數(±),以及標準的加、減、乘、除。
- 它正確處理 64 位元值嗎?
- 是的。所有運算都使用 JavaScript BigInt 並遮罩到所選字組長度,因此 64 位元運算都是精確的。這避免了許多網頁計算器依賴 JavaScript 原生位元運算子時會出現的錯誤,這些運算子會靜默截斷為 32 位元。
- 我可以使用鍵盤嗎?
- 是的。直接輸入數字和 A–F,使用 + − * / 進行算術運算,& | ^ ~ 進行 AND/OR/XOR/NOT 運算,< 和 > 進行位移,Enter 進行 =,Backspace 刪除,Esc 清除。
- 你能給一個具體的例子嗎?
- 當然。要讀取十六進位顏色 #3A7BD5 的紅色通道,請選擇 32 位元無符號模式,點選 HEX 行並輸入 3A7BD5,然後按下 Rsh。第二個數字會根據所選的進位制行來讀取,因此在輸入 16 之前請先點選 DEC 行(在 HEX 行中輸入 16 會表示 0x16,即 22 位元的位移)。按下 =,再次點選 HEX 行,按下 AND,輸入 FF 並按下 =,計算器會顯示十進位的 58,這就是紅色值(綠色和藍色則透過不同的位移以相同方式得出)。作為另一個例子,要檢查 Unix 權限 0o755 的擁有者執行權位元是否設定,請點選 OCT 行,輸入 755,按下 AND,輸入 100(仍然在八進位中),然後按下 =;結果 100 不為零,表示該位元已設定。同時在所有四種進位制中處理這些案例,是單獨的進位制轉換器無法做到的。
- 此工具會上傳我的資料嗎?
- 不會。所有運作都在您的瀏覽器中進行,因此您的資料永遠不會離開您的設備 — 頁面載入後,它甚至可以在離線狀態下使用。