Tool to write numbers in base N (change of basis / convert). In numeral systems, a base (radix) is the value of successive powers when writing a number.

Base N Convert - dCode

Tag(s) : Arithmetics

dCode is free and its tools are a valuable help in games, maths, geocaching, puzzles and problems to solve every day!

A suggestion ? a feedback ? a bug ? an idea ? *Write to dCode*!

The base (or radix) is the number of distinct digits needed to write the numbers (in a positional numeral system).

__Example:__ In decimal base, the base used by default to write numbers, 10 digits are used: from 0 to 9, so it is a writing in base 10.

A number $ N $ in base/radix $ b $ can be written with an addition of powers in this base $ b $.

__Example:__ The number $ N = 123_{(10)} $ (base 10) verifies the equality $$ N = 789 = 7 \times 100 + 8 \times 10 + 9 \times 1 = 7 \times 10^2 + 8 \times 10^1 + 9 \times 10^0 $$

$ N= $ | $ c2 $ | $ c1 $ | $ c0 $ |

$ 789 $ | $ 7 $ | $ 8 $ | $ 9 $ |

Take a number $ N $ made of $ n $ digits $ { c_{n-1}, c_{n-2}, \cdots, c_2, c_1, c_0 } $ in base $ b $, it can be written it as a polynomial:

$$ N_{(b)} = \{ c_{n-1}, \cdots, c_1, c_0 \}_{(b)} = c_{n-1} \times b^{n-1} + \cdots + c_1 \times b^1 + c_0 \times b^0 $$

To compute a base change, base $ 10 $ is the reference, or an intermediate step.

__Example:__ To change from base $ 3 $ to base $ 7 $, calculate base $ 3 $ to base $ 10 $, then from base $ 10 $ to base $ 7 $.

A number in base/radix 10 is written with the digits `0, 1, 2, 3, 4, 5, 6, 7, 8 and 9` are used. For other bases, it is common to use letters, more precisely the following characters: `0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ` (Beware to lowercase and uppercase from base 37) in order to write numbers up to base 62.

Use the following algorithm to convert/encode from base $ 10 $ to base $ n $:

$$ q_0=n; i=0; \mbox{ while } q_i > 0 \mbox{ do } (r_i = q_i \mbox{ mod } b; q_{i+1}= q_i \mbox{ div } b ; i = i+1 ) $$

The converted number is composed of digits $ r_{i=0 \cdots n-1} $ (with $ r_0 $ the digit of the units).

__Example:__ $ N = 123_{(10)} $ (base 10) is converted to base $ 7 $:

$$ q_0 = 123 \\ r_0 = 123 \mbox{ mod } 7 = 4 \;\;\; q_1 = 123 \mbox{ div } 7 = 17 \\ r_1 = 17 \mbox{ mod } 7 = 3 \;\;\; q_1 = 17 \mbox{ div } 7 = 2 \\ r_2 = 2 \mbox{ mod } 7 = 2 \;\;\; q_2 = 2 \mbox{ div } 7 = 0 \\ 123_{(10)} = 234_{(7)} $$

To convert/decode a number $ N_1 $ written in base $ b $ in a number $ N_2 $ written in base $ 10 $, use the fact that $ N_1 $ is made of $ n $ digits $ { c_{n-1}, c_{n-2}, \cdots, c_1, c_0 } $ and apply the following algorithm:

$$ N_2 = c_{n-1} ; \mbox{ for } ( i=n-2 \mbox{ to } 1 ) \mbox{ do } N_2=N_2 \times b+c_i $$

The number $ N_2 $ is written in base $ 10 $.

The algorithm is equivalent to the calculation $$ (( c_{n-1} \times b + c_{n-2} ) \times b + c_{n-3} ) \cdots ) \times b + c_0 $$

__Example:__ Take the number $ 123_{(7)} $ (in base $ 7 $), and apply the conversion algorithm:

$$ 123 = \{1,2,3\} \\ N = 1 \\ N = 1*7+2 = 9 \\ N = 9*7+3 = 66 \\ N = 123_{(7)} = 66_{(10)} $$

So $ 123_{(7)} $ is equal to $ 66_{(10)} $ in base $ 10 $.

— base 2 (binary system - base2) in informatics

— base 3 (trinary or ternary system - base3)

— base 8 (octal system - base8)

— base 9 (nonary system - base9)

— base 10 (decimal system - base10)

— base 12 (duodecimal system - base12), for month or hours

— base 16 (hexadecimal system - base16) in informatics for bytes

— base 20 (vigesimal system - base20) used by Mayan numeral system (and Aztecs)

— base 26 (alphabetic system - base26)

— base 27 (alphabetic system + special character - base27)

— base 36 (alphanumeric system - base36)

— base 37 (alphabetic system + special character - base37)

— base 60 (sexagesimal system - base60) for minutes, seconds by Sumerians and Babylonians.

— base 62 (full alphanumeric system - base62)

All the basics can be used for computer coding or any other math problem.

__Example:__ Encoding and decoding base64 is common on the Internet.

dCode retains ownership of the "Base N Convert" source code. Except explicit open source licence (indicated Creative Commons / free), the "Base N Convert" algorithm, the applet or snippet (converter, solver, encryption / decryption, encoding / decoding, ciphering / deciphering, breaker, translator), or the "Base N Convert" functions (calculate, convert, solve, decrypt / encrypt, decipher / cipher, decode / encode, translate) written in any informatic language (Python, Java, PHP, C#, Javascript, Matlab, etc.) and all data download, script, or API access for "Base N Convert" are not public, same for offline use on PC, mobile, tablet, iPhone or Android app!

Reminder : dCode is free to use.

The copy-paste of the page "Base N Convert" or any of its results, is allowed (even for commercial purposes) as long as you credit dCode!

Exporting results as a .csv or .txt file is free by clicking on the *export* icon

Cite as source (bibliography):

*Base N Convert* on dCode.fr [online website], retrieved on 2024-07-18,

base,convert,change,decimal,octal,binary,hexadecimal,system,digit,number,letter

https://www.dcode.fr/base-n-convert

© 2024 dCode — El 'kit de herramientas' definitivo para resolver todos los juegos/acertijos/geocaching/CTF.

Feedback