Binary, hex and decimal converter

Convert numbers between binary, decimal, hex, octal and any base 2–36, including fractions, repeating digits and two's-complement bits for negatives.

പുതുക്കിയത് പരിശോധിച്ച ഉദാഹരണങ്ങൾ: 7

Use a point for fractions. In auto mode 0x, 0b and 0o prefixes pick the base. Spaces and underscores are ignored.
Applies to every base except decimal; binary in 4s shows nibbles, in 8s shows bytes.
കൂടുതൽ ഓപ്ഷനുകൾ
പരീക്ഷിക്കുക
ഫലം
-2A
ഫലം: -2A
Binary
-10 1010
Octal
-52
Decimal
-42
Fraction in the target base
Whole number
Two's-complement bits
1111 1111 1101 0110
Two's complement in hex
FFD6
Bits read as unsigned
65494
Bits read as signed
-42

-42 in decimal is -2A in hex. A 16-bit register stores it as FFD6 in hex, which reads as 65494 if the same bits are treated as unsigned.

16-bit pattern

16-bit two's complement
1
1
1
1
1
1
1
1
1
1
0
1
0
1
1
0
കണക്കാക്കുന്ന വിധം S
  1. Read the decimal digits

    4210=4×101+2×100=42\texttt{42}_{10} = 4 \times 10^{1} + 2 \times 10^{0} = 42

    The minus sign is carried through unchanged.

  2. Integer part: divide by 16 repeatedly

    42÷16=2 remainder 10  (A)2÷16=0 remainder 2  (2)\begin{aligned}42 \div 16 &= 2 \text{ remainder } 10 \;(A) \\ 2 \div 16 &= 0 \text{ remainder } 2 \;(2)\end{aligned}

    Reading the remainders from last to first gives the digits.

  3. Store in 16 bits (two's complement)

    216−42=65494=1111 1111 1101 011022^{16} - 42 = 65494 = \texttt{1111\,1111\,1101\,0110}_2

    Read as unsigned the bits are 65494; read as signed the top bit counts −2¹⁵, giving -42.

Binary, hex and decimal converter സംബന്ധിച്ച്

A number written in base b is a sum of digits times powers of b, so 2A in hex is 2 × 16 + 10 = 42. To write a whole number in base b, the converter divides by b repeatedly and reads the remainders from last to first; for a fraction it multiplies by b repeatedly and takes each whole part as the next digit. It works with exact fractions, so it can tell whether the digits after the point end or repeat.

Programmers use it for memory addresses, color codes, file permissions and bit masks. The default, −42, is −2A in hex and 1111 1111 1101 0110 in 16-bit two's complement, which reads as 65,494 when the same bits are treated as unsigned. Decimal 0.1 never ends in binary: it is 0.0(0011), with the block 0011 repeating.

Two's-complement bits are shown for whole numbers at widths from 8 to 128 bits; a value outside the chosen width wraps to its low bits, with a warning.

പരിഹരിച്ച ഉദാഹരണങ്ങൾ

255 to hex

Number
255
From base
Decimal (10)
To base
Hex (16)
Two's-complement width
16-bit
അക്കങ്ങളുടെ കൂട്ടതിരിക്കൽ
Groups of 4
ഫലം
FF
Binary
1111 1111
Octal
377
Fraction in the target base
Whole number

പരിശോധനയുടെ ഉറവിടം: Python 3.8: format(255, 'X'), format(255, 'b'), format(255, 'o')

−42 in 16-bit two's complement

Number
-42
From base
Decimal (10)
To base
Hex (16)
Two's-complement width
16-bit
അക്കങ്ങളുടെ കൂട്ടതിരിക്കൽ
Groups of 4
ഫലം
-2A
Two's-complement bits
1111 1111 1101 0110
Two's complement in hex
FFD6
Bits read as unsigned
65494
Bits read as signed
-42

പരിശോധനയുടെ ഉറവിടം: Python 3.8: format(-42 & 0xFFFF, '016b') = '1111111111010110', format(-42 & 0xFFFF, 'X') = 'FFD6', 2**16 − 42 = 65494

0.1 decimal is repeating in binary

Number
0.1
From base
Decimal (10)
To base
Binary (2)
Two's-complement width
16-bit
അക്കങ്ങളുടെ കൂട്ടതിരിക്കൽ
None
Fraction digits to show
12
ഫലം
0.000110011001…
Exact form
0.0(0011)
Fraction in the target base
Repeating
Repeating block length
4

പരിശോധനയുടെ ഉറവിടം: Python 3.8: format(int(Fraction(1, 10) * 2**12), '012b') = '000110011001'; a separate long-division script finds the remainder cycle of length 4 starting after the first digit

Hex fraction 0x1.8

Number
0x1.8
From base
Auto (prefix, else decimal)
To base
Decimal (10)
Two's-complement width
16-bit
അക്കങ്ങളുടെ കൂട്ടതിരിക്കൽ
Groups of 4
ഫലം
1.5
Fraction in the target base
Terminating
Binary
1.1

പരിശോധനയുടെ ഉറവിടം: Python 3.8: float.fromhex('0x1.8') = 1.5

ചോദ്യങ്ങൾ

How do you convert binary to decimal?

Multiply each binary digit by 2 raised to its position, counting from 0 at the right, and add the results. 1111 1111 is 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255, and 101010 is 32 + 8 + 2 = 42. Digits after a binary point use negative powers, so 1.1 is 1 + 1/2 = 1.5.

How do you convert decimal to hexadecimal?

Divide by 16 repeatedly and write the remainders from last to first, using A–F for 10–15. For 255, 255 ÷ 16 = 15 remainder 15, then 15 ÷ 16 = 0 remainder 15, giving FF; for 1295 the remainders 15, 0 and 5 give 50F. Each hex digit stands for exactly 4 bits, which is why hex is used to write bytes: FF is 1111 1111.

What is two's complement?

Two's complement is how CPUs store signed integers: a negative number −x in w bits is stored as 2^w − x, so the top bit carries a weight of −2^(w−1). In 16 bits, −42 is 65,536 − 42 = 65,494, or FFD6 in hex. An 8-bit value runs from −128 to 127, so 128 wraps to −128. C23 (ISO/IEC 9899:2024) requires two's complement for signed integers.

Why is 0.1 not exact in binary?

A fraction ends in base b only if its denominator, in lowest terms, has no prime factors other than those of b. 0.1 is 1/10, and 10 = 2 × 5, so in binary it repeats forever: 0.000110011…, written 0.0(0011). That is why 0.1 + 0.2 gives 0.30000000000000004 in IEEE 754 double precision, the number type behind JavaScript numbers and Python floats.

What is octal used for?

Octal (base 8) groups binary digits in threes, and its main use today is Unix file permissions: each digit adds read (4), write (2) and execute (1) for the owner, group and others, so chmod 755 means rwxr-xr-x. Decimal 255 is 377 in octal. Python 3 and JavaScript write octal literals as 0o755; C writes them with a leading zero, 0755.

“Binary, hex and decimal converter” എത്രത്തോളം കൃത്യമാണ്?

കൃത്യത നിങ്ങളുടെ ഇൻപുട്ടുകളെയും രീതിയുടെ അനുമാനങ്ങളെയും ആശ്രയിച്ചിരിക്കുന്നു. ദശാംശ ഗണിതം 50 സാർഥക അക്കങ്ങൾ ഉപയോഗിക്കുന്നു. എന്നാൽ അനുമാനക്കണക്കുകൾ, സംഖ്യാത്മക രീതികൾ, ഉറവിട ഡാറ്റ എന്നിവയ്ക്ക് കൃത്യത കുറവാകാം; പ്രദർശിപ്പിക്കുന്ന മൂല്യം റൗണ്ട് ചെയ്യുന്നത് ഈ പരിമിതികൾ നീക്കില്ല. സ്വതന്ത്ര ഉറവിടങ്ങളിലെ പരിഹാരങ്ങളുമായി പരിശോധിച്ച ഉദാഹരണങ്ങൾ: 7. ഉദാഹരണത്തിന്, “255 to hex” എന്നത് Python 3.8: format(255, 'X'), format(255, 'b'), format(255, 'o') ഉപയോഗിച്ച് പരിശോധിക്കുന്നു.

ഈ രീതിയുടെ ഉറവിടം എന്താണ്?

Knuth, The Art of Computer Programming, Vol. 2, §4.1 Positional number systems and §4.4 Radix conversion; ISO/IEC 9899:2024 (C23) §6.2.6.2 — signed integers use two's complement (draft N3096).

ഈ കാൽക്കുലേറ്ററിനെക്കുറിച്ച്

(dk−1⋯d1d0.d−1d−2⋯ )b=∑idi bi−x in w bits=2w−x\begin{aligned} (d_{k-1}\cdots d_1 d_0.d_{-1}d_{-2}\cdots)_b &= \sum_i d_i\, b^{i} \\ -x \text{ in } w \text{ bits} &= 2^w - x\end{aligned}

സ്രോതസ്സുകൾ

  1. Knuth, The Art of Computer Programming, Vol. 2, §4.1 Positional number systems and §4.4 Radix conversion
  2. ISO/IEC 9899:2024 (C23) §6.2.6.2 — signed integers use two's complement (draft N3096)

ആധാരങ്ങളുമായി പരിശോധിച്ചത്

ഈ കാൽക്കുലേറ്ററിൽ സ്വതന്ത്ര ആധാരങ്ങളിൽ നിന്ന് ഉത്തരങ്ങൾ ലഭിച്ച 7 പരിഹരിച്ച ഉദാഹരണങ്ങളുണ്ട്. ഇവ പരിശോധനാസമുച്ചയത്തിൽ പ്രവർത്തിക്കുന്നു; നിങ്ങൾക്ക് ഇവിടെയും പ്രവർത്തിപ്പിക്കാം.

ബന്ധപ്പെട്ട കാൽക്കുലേറ്ററുകൾ