← Math & statistics

Base Converter & Bitwise Toolkit (Bin/Oct/Dec/Hex)

Convert values between binary, octal, decimal, and hexadecimal. You can also run common bitwise and shift operations in one place.

Other languages 日本語 | English | 简体中文 | 繁體中文 | 繁體中文(香港) | Español | Español (México) | Português (Brasil) | Português (Portugal) | Bahasa Indonesia | Tiếng Việt | 한국어 | Français | Deutsch | Svenska | Suomi | Dansk | Norsk bokmål | Italiano | Русский | हिन्दी | العربية | বাংলা | اردو | Türkçe | ไทย | Polski | Filipino | Bahasa Melayu | فارسی | Nederlands | Українська | עברית | Čeština

Convert values across binary, octal, decimal, and hexadecimal, then run bitwise and shift operations. Use it to check encodings and bit masks quickly.

Input base

How to validate conversions and bitwise results

Start from the source representation

Pick the base that matches your original value, then confirm the other three views before you touch signed mode or any operator. This makes it obvious whether a mismatch comes from parsing or from later interpretation.

Use bit width intentionally

32-bit and 64-bit modes change the valid range, padding, and the way NOT or shifts are displayed. If you are documenting protocols or packet formats, keep the same width for every comparison run.

Check signed mode separately

Signed view does not change the stored bit pattern. It only changes how the decimal result is interpreted with two's complement, so compare signed and unsigned views side by side when debugging negative values.

Sanity-check bitwise operations

FAQ

Which radices are supported?

Binary, octal, decimal, and hex are supported. Choose the input base and the other representations update instantly.

How can I run bitwise operations?

Choose an operator, then enter the second operand or shift amount. Pick 32-bit or 64-bit width and switch between unsigned and signed (two's complement) interpretation.

Why does the decimal value change when I switch to signed mode?

Signed mode reads the same 32-bit or 64-bit pattern as two's complement. The bits do not change; only the decimal interpretation does.

Why are leading zeros kept in binary and hex output?

Leading zeros make bit width explicit and help you inspect masks, shifts, and register layouts without guessing how many bits are in play.

What happens if my value does not fit the selected width?

The tool flags values outside the chosen width because overflow changes the stored bit pattern. Increase the width or trim the input before comparing downstream results.

How it’s calculated