🧮 程式設計師計算器
程式設計師計算器可同時處理十六進位、十進位、八進位與二進位,並支援低階程式設計所需的位元運算與固定字組長度。在任何進位輸入數值,應用 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 程式實際產生的結果一致。
「有號」切換會在十進位顯示中切換無號和二補數的解釋方式,也會改變除法、模運算和右移的行為——有號除法會向零截斷,有號右移會保留符號位元,這與你的編譯器行為一致。所有運算內部都是使用 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 位元無號模式,輸入 3A7BD5 到 HEX 行,然後計算 Rsh 16 和 AND 與 FF——計算器會顯示十進位的 58,這就是紅色值(綠色和藍色則透過不同的位移以相同方式得出)。另一個例子,要檢查 Unix 權限 0o755 的擁有者執行權是否設定,輸入 755 到 OCT 行,並 AND 與 100;結果為 100,非零表示該位元已設定。像這樣在所有四種進位中同時處理這些案例,是單純的進位轉換器無法做到的。
- 此工具會上傳我的資料嗎?
- 不會。所有運作都在您的瀏覽器中進行,因此您的資料永遠不會離開您的設備 — 頁面載入後,它甚至可以在離線狀態下使用。