二進位算術工具能幫助你釐清的事
二進位算術工具旨在對帶正負號的二進位整數執行加、減、乘法運算,並檢查精確結果是否符合所選的二補數位元寬度。首先決定輸入代表的是數學數值、一串十進位數字,還是固定寬度的位元樣式。這個區分比位元本身的外觀更為重要:依據所選的規則與位元寬度,1111 可能代表數字十五、四個啟用中的旗標、一個負的二補數值,或是某種編碼的一部分。工作區會將這些選擇與結果並列顯示,讓你在閱讀輸出時無需猜測其脈絡。
二進位 101101 加上 1101 等於 111010,亦即十進位 58。以 8 位元表示時,該結果為 00111010。若結果高於 127 或低於 −128,即無法放入帶正負號的 8 位元二補數範圍,並會標示為溢位。結果面板顯示的是標籤,而非僅回傳一串孤立的位元字串。當其他人需要知道產生該結果的表示方式、位元寬度、帶正負號的詮釋或運算類型時,請複製完整的可見結果。若其他系統僅需要原始位元,請先確認該系統採用相同的慣例,再移除這些標籤。
轉換或運算的運作方式
輸入使用一般的前置減號,因此在選定位元寬度之前,其數學意義是明確的。系統會先計算精確的整數結果,再透過獨立的位元寬度檢查將其編碼為二補數,或回報有號溢位範圍。這能讓長整數與位元運算保持精確,也讓前置零的處理是有意的:數值轉換可以省略不必要的前置零,而固定寬度、BCD 與格雷碼運算則會在零帶有結構意義時保留或加上零。
執行動作前請先選好每個可見選項。更換基底、方向、運算、位元寬度、排列、大小寫、數量或精度時,會清除先前的結果,避免舊的答案看起來像是對應到新的設定。當輸入包含來源基底無效的數字、長度超過選定位元寬度的字詞、無效的編碼數字,或輸出超出指定邊界時,頁面會予以拒絕。錯誤訊息會顯示在控制項旁邊,且不會產生可能被誤認為成功的部分值。
驗證結果的可靠方法
若要快速獨立驗證,請將十進位列與一般算術比較,並在使用固定寬度字組前檢視所標示的有號範圍。先從一個能用手動驗算的簡短範例開始,再以相同的設定代入實際數值。往返轉換特別實用:先正向轉換,再切換方向,確認有意義的輸入能正確還原。字母大小寫、分群空白或多餘的數值前置零並不會改變數值本身,但在要求嚴格固定寬度文字格式的欄位中,這些差異可能會造成影響。
進行位元運算時,請將運算元以對齊的列寫出,並一次檢查一個欄位。進行基底轉換時,請將幾個數字展開為來源基底的冪次。進行科學記號表示時,請實際計算位數,而非用目測估算數量級。這些檢查能揪出常見錯誤,例如貼上十六進位時卻選了十進位、把負號當作符號位、在十六位元的目的端誤用八位元補數,或是假設 BCD 就是一般的二進位。
表示方式、位元寬度與限制
每個有號二進位輸入最多可包含 4,096 位數;乘法可能產生更長的精確結果。本頁面不會將溢位的算術結果自動環回。環回在特定處理器或協定上可能是正確的,但若在這裡隱藏它,將會捨棄精確的數學答案,也使所選的位元寬度更難以稽核。輸入上限是為了讓結果在一般的瀏覽器分頁中保持回應迅速且易於檢視。更長的字串並不一定更精確:目的地檔案格式、暫存器、資料庫欄位、裝置訊息或課堂練習,通常都有自己的位元寬度與記號規則,應優先加以確認。
溢位是選定表示法的特性,而非精確整數本身的特性。同一個數值在一種位元寬度下可能合適,在另一種位元寬度下則可能溢位。同樣地,最高位元為 1 本身並不帶有負數的意義,除非選定了有號固定寬度慣例。頁面會在原始位元旁標示這些解釋方式,避免將正確的位元模式以錯誤的規則帶入其他系統。本頁面不會推測 CPU 行為、位元組順序、網路位元組順序、字元編碼,或程式語言的自動型別轉換。
隱私與實際使用
數值會在目前的瀏覽器分頁中處理,不會上傳至 NexaCurrent、不會儲存至帳號、不會放進網頁網址中,也不會被當作範例提供給其他訪客使用。Reset 會還原為發佈時的範例,Clear result 只會移除輸出部分,重新整理或離開頁面則會清除目前的工作狀態。請勿因為處理過程在本機端,就貼入機密資訊;數字轉換工具並非安全的保管庫或加密工具。
請將此結果作為透明的隨手筆記,用於學習、除錯、資料準備、協定檢閱或文件撰寫。在變更正式環境資料、韌體、權限、二進位檔案或硬體設定之前,請先比對目的地規格與所選的基底、位元寬度、有號性、排列方式及溢位規則。當使用者的任務改變時(例如從轉換數學整數,變成處理原始位元字組),下方的相關工具會分開呈現,以確保控制項與警告仍符合該任務的需求。