Number Base Converter — Binary, Hex, Decimal & Bytes
Convert numbers, bytes and CTF integers with arbitrary precision, two's complement and endianness controls, plus fractions and bit fields.
🔒 Your input is processed locally in your browser and is not sent to our servers.
How to use the number base converter (5 steps)
- Choose Number or Bytes / Text: Number mode reads one integer in a base you choose (Auto only trusts 0x, 0b and 0o prefixes and otherwise reads decimal). Bytes / Text mode reads a list of bytes — hex, binary, decimal or octal — or ordinary text. The mode is always shown, never guessed.
- Check the Settings: Open the Settings tab to pick the bit width (8, 16, 32, 64 or unlimited), signed or unsigned, big- or little-endian, and — in Number mode — whether what you typed is a value or a bit pattern. The current choices always show as a one-line summary such as 32-bit · signed · big-endian, with an Edit button.
- Read every result at once: Binary, octal, decimal and hexadecimal appear together with the bit length, byte length and set bits, then an Interpret as strip: unsigned value, signed value, bit pattern, big- and little-endian bytes, and possible text. In Bytes mode you get the text, a byte table and every output form.
- Copy, export or send it on: Copy any value (grouped or raw), copy all results or download them as .txt, copy the conversion as Python, JavaScript, C or Go, run a batch of lines into a TSV, or send the integer or bytes to the Auto-Decoder, Hex Viewer or ROT Solver without putting data in the page address.
- Use More bases for anything that is not a plain integer: The More bases tab converts fractions with a radix point (101.101 in binary is 5.625), writes an integer in negative bases, balanced ternary, factorial base, Zeckendorf and bijective base-26, and splits a fixed-width pattern into named bit fields such as an IPv4 header word or the TCP flags.
Binary to Decimal and Hex to Decimal: Number Mode vs Bytes Mode
The same characters can mean two different things. The string 4142 is the integer 16706 if you read it as one hexadecimal number, and it is the two bytes 41 and 42 — the text AB — if you read it as a list of bytes. Most converters silently pick one. This tool makes you say which: Number mode converts one integer between binary, octal, decimal, hexadecimal and any base from 2 to 36, and Bytes / Text mode converts a sequence of bytes to and from hex, binary, decimal, octal and text.
Number mode treats 0x, 0b and 0o as prefixes, strips spaces, underscores, commas and new lines, and is deliberately simple about everything else: in Auto base only a prefix sets the base, so 101010 is the decimal number 101010 and not the binary number 42. To read it as binary, choose base 2. If you type \x41\x42 in Number mode the tool does not guess — it points out that \x escapes belong to bytes and offers to switch modes. Every integer is a BigInt, so a 100-digit decimal converts to hexadecimal exactly, and 9007199254740993 stays 9007199254740993 instead of rounding to …992 the way a floating-point converter would.
Two's Complement Converter: Why 0xDEADBEEF Becomes a Negative Number
0xDEADBEEF is four bytes. Read as an unsigned 32-bit number it is 3735928559. Read as a signed 32-bit number — where the top bit means negative — the very same bits are −559038737. Nothing was converted; the same pattern has two readings, and the Interpret as strip shows both together with the bytes DE AD BE EF so you can pick the one a challenge expects.
That is why the tool distinguishes three operations instead of one. A value is a mathematical integer you typed, such as −42 or 3735928559, and at a fixed width it is range-checked: 3735928559 is refused as a 32-bit signed value and the message gives the valid range, −2147483648…2147483647. A bit pattern is the bits you supplied, such as 0xDEADBEEF at 32 bits; it must fit the width but is never rejected for being too big for signed, because you gave bits, not a signed value. A wrap is the third operation and happens only when you press the button: it takes the value modulo 2^width, so −1 wrapped to 8 bits is 11111111 and 300 wrapped to 8 bits is 00101100. The base cards always show the mathematical value — −42 stays −42 in the decimal card — while a separate pattern card shows the two's-complement form 11010110 (0xD6) with its unsigned reading 214 clearly labelled.
Hex to Text and Byte Order: Why 0x12345678 Becomes 78 56 34 12
A multi-byte number has to be laid out in memory one byte at a time, and there are two conventions. Big-endian writes the most significant byte first, so 0x12345678 is 12 34 56 78. Little-endian writes the least significant byte first, so the same number is 78 56 34 12. The value is identical; only the byte sequence differs, which is why packet captures, file headers and CPU registers so often look 'backwards'. The Interpret as strip lists both byte strings together with the decimal you get if each is read big-endian, so you can compare the readings directly.
Fixed byte lengths follow the same rule. 255 in four bytes is 00 00 00 ff in big-endian — zero padding on the left — and ff 00 00 00 in little-endian, with the zero padding at the end. If a value needs more bytes than you asked for, the tool refuses and says how many it needs; it never truncates. In Bytes mode the same bytes are decoded as UTF-8 by default, with ASCII and Latin-1 available, and invalid sequences are counted at byte level — "1 invalid sequence (1 byte)" — while the original bytes are always kept.
Integer to Bytes: How CTF Challenges Turn a Huge Integer Back Into a Flag
Crypto challenges often hand you a huge decimal such as 7380380986433366397 and nothing else. It is a message treated as one big-endian integer: write the integer as bytes and read the bytes as text. Here 7380380986433366397 is 666c61677b68697d in hex, which is the text flag{hi}. Python players know this as long_to_bytes and bytes_to_long; this page does both directions in the browser, accepts the integer in decimal, hex or binary, and works with either byte order.
Byte length is a setting, not a guess. Minimal drops all leading zero bytes — and zero itself is the single byte 00 — while Fixed N pads to exactly N bytes (up to 65,536). Be aware that leading zero bytes cannot be recovered from an integer: 00 00 41 and 41 are the same integer, so if the original message started with zero bytes you must supply the length. Negative integers need Signed and a fixed length because two's-complement bytes need a width. When the resulting bytes are at least 90% printable ASCII or whitespace the tool shows a Possible text line with the exact ratio, such as 31/32 printable bytes, 96.9%; below that it shows hex only rather than a failed decode.
Value vs Representation: 255 Is FF at 8 Bits and 00 00 00 FF at 32 Bits
A value is a number; a representation is how many bits and bytes you spend writing it. The value 255 is FF in one byte and 00 00 00 FF in four, and as a signed 8-bit value it does not exist at all — the signed 8-bit range stops at 127. Most conversion mistakes in CTF work are really representation mistakes: the digits are right but the width, the sign or the byte order was assumed. Choosing the width up front, and having the tool state which operation it used — for example Read as a 32-bit pattern — removes the guesswork.
Fractions, Other Number Systems and Bit Fields: What the More Bases Tab Does
The More bases tab covers what Number and Bytes mode deliberately do not. Its fraction converter reads a number with a radix point in any base from 2 to 36, such as 101.101 in binary, and writes it in any other base. The value is held exactly as a fraction of two big integers, so there is no floating-point step. What is shown is the expansion cut off after the number of fraction digits you choose (8 to 128), never rounded, and a repeating expansion is marked: 0.1 in decimal is 0.0(0011) in binary, the bracketed digits repeating forever, which is also why 0.1 + 0.2 is awkward in most programming languages.
The other-number-systems card writes one decimal integer in five systems that CTF puzzles and programming contests occasionally use. Negative bases (−2 to −36) represent every integer without a minus sign — 6 is 11010 in base −2. Balanced ternary uses the digits T (−1), 0 and 1, so 8 is 10T. Factorial base (factoradic) uses the place values …, 5!, 4!, 3!, 2!, 1!, 0! with digits written most significant first and separated by colons, so 463 is 3:4:1:0:1:0 because 3×120 + 4×24 + 1×6 + 0×2 + 1×1 + 0×1 = 463, Zeckendorf writes a number as non-adjacent Fibonacci numbers (100 is 1000010100), and bijective base-26 is the spreadsheet column scheme where 27 is AA and 703 is AAA. Factorial, Zeckendorf and bijective are defined only for non-negative or positive integers, and the tool says so instead of guessing.
The bit-field card takes a fixed-width pattern and a layout written as name:width pairs, listed from the top bit or from bit 0, and shows each field's bit range, decimal, hex and binary value. Presets cover the first 32-bit word of an IPv4 header (0x45000054 is version 4, header length 5, total length 84), the TCP flags (0x12 is ACK and SYN), Unix file mode, the RGB565 pixel and the DOS date and time used in ZIP files. The IEEE 754 presets only split sign, exponent and mantissa; this tool does not convert a float to its decimal value.
When the Output Looks Wrong
Start with the reading, not the digits. An odd number of hex digits is ambiguous, so the tool asks whether to pad with a leading 0 or to treat the input as a number instead. Binary that is not a multiple of eight bits asks whether to left-pad the first byte. A decimal that should have been binary came from Auto base reading it as decimal — pick base 2. A positive number that came out negative was read as signed; switch to unsigned or widen the bit width. Text that looks reversed is the other byte order. Replacement characters mean the bytes are not valid UTF-8 — try ASCII or Latin-1, or look at the hex. A flag that is missing its first characters lost leading zero bytes in the integer, so set a fixed byte length.
Examples
Input: flag{hi} (Bytes / Text)
Result: hex 666c61677b68697d · decimal 102 108 97 103 123 104 105 125
Meaning: As binary bytes it is 01100110 01101100 01100001 01100111 01111011 01101000 01101001 01111101.
Input: 7380380986433366397 (integer → bytes, big-endian)
Result: flag{hi}
Meaning: The whole message read as one big-endian integer; converting the integer back to bytes returns the text. flag on its own is 1718378855.
Input: 0xDEADBEEF (32-bit pattern)
Result: unsigned 3735928559 · signed −559038737 · bytes DE AD BE EF
Meaning: One bit pattern, two readings. As a signed 32-bit VALUE, 3735928559 is refused because the range is −2147483648…2147483647.
Input: 0x12345678 (4 bytes)
Result: big-endian 12 34 56 78 · little-endian 78 56 34 12
Meaning: The value is the same; only the byte order differs.
Input: -42 (8-bit signed value)
Result: pattern 11010110 (0xD6)
Meaning: The decimal card still shows −42. The unsigned reading of the pattern, 214, is labelled separately and never replaces the value.
Input: 128 (8-bit signed value)
Result: refused — range −128…127
Meaning: Typed as the bit pattern 0x80 it is accepted: 10000000, unsigned 128, signed −128. 0x100 as an 8-bit pattern is refused because it needs 9 bits.
Input: -1 → Wrap to 8 bits
Result: 11111111 (FF)
Meaning: Wrap is value mod 2^8 and only happens when you press the button. 300 wrapped to 8 bits is 00101100 (44).
Input: 255 (4 fixed bytes)
Result: big-endian 00 00 00 ff · little-endian ff 00 00 00
Meaning: Padding goes on the left for big-endian and at the end for little-endian. 256 in 1 byte is refused: it needs at least 2 bytes. Zero as minimal bytes is 00.
Input: 101010 (Auto base vs base 2)
Result: decimal 101010 vs 42
Meaning: Auto base only trusts a 0x, 0b or 0o prefix, so unprefixed digits are decimal. 0o755 is 493, which is 111101101 in binary.
Input: zz (base 36)
Result: 1295
Meaning: Custom bases 2–36 use the digits 0–9 then a–z, case-insensitive on input and lowercase on output.
Input: 9007199254740993
Result: 0x20000000000001
Meaning: 2^53 + 1 converts exactly. A converter that goes through floating point would show 9007199254740992.
Input: 101.101 (More bases: binary fraction to decimal)
Result: 5.625
Meaning: 4 + 1 + 1/2 + 1/8. The value is exact, so the note says exact.
Input: 0.1 (More bases: decimal to binary)
Result: 0.0(0011)
Meaning: The digits in brackets repeat forever: 0.1 has no finite binary expansion, which is the root of most floating-point surprises.
Input: 6 (More bases: base −2)
Result: 11010
Meaning: 1·16 + 1·(−8) + 0·4 + 1·(−2) + 0·1 = 6. No minus sign is needed, and −13 is 110111.
Input: 0x45000054 (More bases: IPv4 layout, 32 bits)
Result: version 4 · ihl 5 · dscp 0 · ecn 0 · total_length 84
Meaning: The same bits as the integer 1157627988, split into the fields of an IPv4 header's first word.
Input: e2 82 (hex bytes, UTF-8)
Result: 1 invalid sequence (2 bytes)
Meaning: A truncated three-byte character. Byte-level counting: ff is 1 sequence / 1 byte, c0 af is 2 / 2, ed a0 80 is 3 / 3, c3 28 is 1 / 1. The original bytes are always preserved.
Input: 41 4 (hex bytes)
Result: malformed token — pad 4 to 04
Meaning: A one-digit token is an error at its position with a one-click fix, never a guess. Contiguous 414 asks whether to pad with a leading 0 or treat it as a number.
How it works
1. Parse
Number mode strips the sign, prefix and separators, validates every digit against the base and reports the first bad digit and its position. Bytes mode follows an exact grammar per input type and reports every rejected token.
2. Decide the operation
At a fixed width, Auto reads decimal input and any leading minus as a Value and hex, binary or octal input as a Bit pattern. Unlimited width always reads a Value. The page states which operation it used and offers a one-click switch.
3. Check the range
A value is checked against the signed or unsigned range for the width and refused with the range if it does not fit; a pattern must fit 0…2^W−1. Nothing wraps unless you press Wrap.
4. Convert
All integers are arbitrary-precision BigInts; there is no floating-point step. Binary and octal are derived from the hexadecimal digits so very long inputs stay fast.
5. Interpret
The same bits are shown as unsigned, signed, big-endian bytes and little-endian bytes, each with its decimal reading. A Possible text line appears only when at least 90% of the bytes are printable ASCII or whitespace, with the exact ratio.
6. More bases
Fractions are parsed as an exact fraction of two big integers and written out by long division, which also detects a repeating cycle; negative bases, balanced ternary, factorial base, Zeckendorf and bijective base-26 are exact big-integer algorithms; bit fields are masks and shifts over the pattern. These cards have their own inputs and nothing in them is stored.
What the results mean
| Result | What it means | What to do |
|---|---|---|
| Read as a value | Your digits are a mathematical integer; at a fixed width it was range-checked | If it is refused, the message gives the valid range — widen the width, pick unsigned, or switch to Bit pattern |
| Read as a 32-bit pattern | Your digits are the bits themselves | Compare the unsigned and signed readings in the Interpret as strip |
| Auto base: read as decimal | No 0x / 0b / 0o prefix was typed | Choose the real base if the digits were binary, octal or hex |
| Does not fit 8-bit signed | The value is outside −128…127 | Press Wrap to width if you want value mod 2^8, or choose a wider width |
| Possible text (31/32 printable bytes, 96.9%) | At least 90% of the bytes are printable ASCII or whitespace | Check the text; it can still be coincidence for very short byte strings |
| 1 invalid sequence (2 bytes) | The bytes are not valid UTF-8 at that spot | Try ASCII or Latin-1, or work from the hex — the original bytes are untouched |
| exact / repeating / truncated (fractions) | Exact: the expansion ends within the digits shown. Repeating: the cycle was found and is shown in ( ), so the result is complete. Truncated: your digit limit was reached before the expansion ended or a cycle was found — the digits are cut off, never rounded | For truncated, raise the fraction digits; exact and repeating results need no more digits |
| (unused) in the bit-field table | Bits the layout does not cover, shown instead of hidden | Add a field for them or confirm the layout's total width matches the pattern |
| — with “defined for non-negative integers” | That number system has no representation for the value | Try a non-negative or, for bijective base-26, a positive value |
| Needs at least K bytes | A fixed length is too small for the value | Raise the length; the tool never truncates |
| Choose a fixed length for negative values | Two's-complement bytes need a width | Select Signed and a fixed byte length |
Limitations
- Number and Bytes mode work on integers. Fractions with a radix point (held exactly as a fraction; the displayed digits are truncated, never rounded), negative bases, balanced ternary, factorial base, Zeckendorf and bit fields are in the More bases tab. IEEE 754 floating-point conversion (float32/float64 with NaN and infinity) is not part of this tool — it is planned as a separate page, and the bit-field presets only split the sign, exponent and mantissa fields.
- This is a number converter and bit-pattern interpreter, not a general-purpose calculator. You can flip individual bits, swap byte order and split a pattern into bit fields, but there are no arithmetic expressions, bitwise-operation expressions (AND, OR, XOR, NOT) or shift and rotate calculations.
- No hashing, encryption or network features, and no automatic detection of unknown encodings beyond recognising a 0x, 0b or 0o prefix — for data whose encoding you do not know, such as a string that might be hex, Base64 or both, use the Encoding Auto-Decoder; this page converts bytes and numbers you already know the format of.
- No file upload. To work from a file, use the Hex Viewer and hand the bytes over.
- Input is limited to 100,000 characters; fixed byte lengths to 65,536 bytes; the byte table shows the first 256 bytes with a Show more control; batch mode processes the first 1,000 lines. Conversion of maximum-size input is fast on a typical computer but not promised to be instant.
- Leading zero bytes cannot be recovered from an integer without extra length information — set a fixed byte length when they matter.
- Number mode reads a decimal when no prefix is given and the base is Auto; it never infers a base from the digits.
- Copy-as-code snippets reproduce the conversion for inputs up to 2,000 digits or 4,096 bytes; longer inputs are not embedded. Snippets are plain text and are never executed by this page. In development every snippet language is executed and compared with the converter: Python, JavaScript, C up to 64 bits, C with the GMP library for larger values, and Go.
Privacy
Your input is processed locally in your browser and is not sent to our servers: what you type is never put in the page address, is not sent to analytics and is rendered as plain text. Results live in memory for the current page only. If you use Send to another tool, the value you typed (this tool accepts at most 100,000 characters) is stored in your browser's IndexedDB so the next page can read it, and it is not sent to a server. The next page ignores it after 30 minutes, but it stays in IndexedDB until that page uses it, a newer hand-off replaces it or you press Clear session data; Clear session data removes it, and only asks for confirmation when the stored value belongs to a different tool. Only non-sensitive preferences (Number or Bytes mode, width, signedness, endianness, text encoding, grouping and case) and which result tabs you have pinned are remembered in this browser's localStorage — your input, output, batch contents and anything typed into the More bases cards never are.
Frequently Asked Questions
How do I convert binary to decimal with this tool?
Choose Number mode, set the input base to 2 (or type the number with a 0b prefix) and enter the binary digits, for example 0b101010. The decimal, octal and hexadecimal values appear together, so 101010 in base 2 is 42. Without a prefix and with the base on Auto, the digits are read as decimal, so 101010 would be the decimal number 101010 — choose base 2 to read it as binary.
How do I convert hex to decimal for very large numbers?
Paste the hex digits with or without a 0x prefix; spaces, underscores and commas are ignored. Every integer is handled as an arbitrary-precision BigInt, so there is no 2^53 limit — inputs up to 100,000 characters are accepted. Results are shown in all four bases and in any custom base from 2 to 36.
Does this converter lose precision on big numbers?
No. There is no floating-point step anywhere. 2^53 + 1 = 9007199254740993 converts exactly to 0x20000000000001, whereas a converter that goes through floating point would show 9007199254740992.
What is two's complement and how do I convert a negative number?
Two's complement is how computers store negative integers at a fixed width: the top bit is the sign. Choose a width such as 8 bits, select Signed and enter -42. The decimal card keeps showing -42 and the pattern card shows 11010110 (0xD6), with the unsigned reading of that pattern, 214, labelled separately. With unlimited width the tool reports the minimum signed width (7 bits for -42) and a byte-aligned form (8 bits).
What does "bit width" change in the result?
At a fixed width of 8, 16, 32 or 64 bits the tool range-checks values, shows a zero-padded two's-complement pattern, and reads that pattern as unsigned and signed. Unlimited width treats the input as a plain value with no range limit. The value 255 is FF at 8 bits and 00 00 00 FF at 32 bits — same value, different representation.
What is the difference between Number mode and Bytes mode?
Number mode reads one integer and converts it between bases. Bytes / Text mode reads a list of bytes (hex, binary, decimal or octal) or ordinary text and shows the bytes, the decoded text, a byte table and the bytes read as one integer. The same string can mean different things — 4142 is the integer 16706 in Number mode and the bytes 41 42 (the text AB) in Bytes mode — so the mode is always shown and never guessed.
Why does my odd-length hex string need a decision?
A byte is two hex digits, so 414 cannot be split into bytes unambiguously. Rather than guess, the tool offers two choices: pad with a leading 0 (04 14) or treat the input as a number instead. The same applies to a one-digit token in a separated list such as 41 4, which gets a one-click fix to pad 4 to 04, and to binary that is not a multiple of 8 bits, which offers to left-pad the first byte.
What is endianness and which should I pick?
Endianness is the order of bytes in a multi-byte number. Big-endian puts the most significant byte first, so 0x12345678 is 12 34 56 78; little-endian puts it last, so the same value is 78 56 34 12. Network protocols and most CTF integer-to-text puzzles use big-endian; x86 and ARM memory dumps are usually little-endian. The Interpret as strip shows both so you can compare.
How do I convert an integer to bytes for a CTF challenge?
Enter the integer in decimal, hex or binary in Number mode and open the integer-to-bytes panel. Choose big-endian (the usual choice) and Minimal length, and read the bytes — if at least 90% are printable you will see a Possible text line. For example 7380380986433366397 becomes 66 6c 61 67 7b 68 69 7d, the text flag{hi}. Use Fixed length to keep leading zero bytes; a negative integer needs Signed and a fixed length.
How do I convert hex to text, and what if some bytes are invalid UTF-8?
Switch to Bytes / Text mode, choose Hex bytes and paste the bytes; the text is decoded as UTF-8 by default (ASCII and Latin-1 are also available). Invalid UTF-8 is not discarded: the tool reports it at byte level, for example 1 invalid sequence (1 byte) for ff, shows a replacement character in the text, and keeps the original bytes available in the byte table and as hex.
Which prefixes and separators are accepted?
Number mode accepts 0x, 0b and 0o (any case), a leading minus sign, and ignores spaces, underscores, commas and new lines. Hex bytes accept spaces, commas, colons and hyphens as separators with an optional 0x or \x prefix per byte, or one contiguous run such as 4142 or \x41\x42; mixing prefix styles is an error. Binary bytes accept whitespace, commas and underscores, decimal bytes whitespace, commas and semicolons. Any other character is reported with its position — nothing is silently dropped.
Is my input sent to a server?
Your input is processed locally in your browser and is not sent to our servers. It is never put in the page address and is not included in analytics events. If you use Send to another tool, the value you typed is stored in your browser's IndexedDB so the next page can read it. The next page ignores it after 30 minutes, but it stays there until that page uses it, a newer hand-off replaces it or you press Clear session data.
Can I convert floating-point numbers?
Not as IEEE 754. float32/float64 conversion is not part of this tool yet; a separate page is planned. Fractions with a radix point, such as 101.101 in binary or 0.1 in decimal, are held exactly as a fraction in the More bases tab; the displayed expansion is truncated after the digit count you choose, never rounded, and a repeating part is shown in brackets. The bit-field presets can split a float into sign, exponent and mantissa fields but do not compute its decimal value.
What is the difference between a signed value and a bit pattern?
A value is a mathematical integer such as -42 or 3735928559; at a fixed width it must fit the range for the chosen signedness or it is refused. A bit pattern is the bits themselves, such as 0xDEADBEEF at 32 bits: it must fit 0…2^W−1 and is then read both ways, unsigned 3735928559 and signed −559038737. Auto picks Value for decimal input and negative numbers and Bit pattern for hex, binary and octal input at a fixed width, states which it chose and lets you switch.
Why can't leading zero bytes be recovered from an integer?
An integer has no length: 0x000041 and 0x41 are the same number, 65. So converting an integer back to bytes in Minimal mode gives 41, not 00 00 41. If the original message started with zero bytes you need to know its length and use Fixed length, which pads with zero bytes on the left for big-endian (at the end for little-endian) and refuses, rather than truncates, when the value does not fit.
How are fractions and repeating digits handled?
Type a number with a radix point in the More bases tab, for example 101.101 in base 2. The tool keeps the value exactly as a fraction of two big integers and writes it in the target base by long division. The digits shown are cut off after the fraction-digit count you choose and never rounded, and a repeating part is shown in brackets: 0.1 in decimal is 0.0(0011) in binary. The result note says exact, repeating or truncated.
What are negative bases, balanced ternary and the other number systems?
They are alternative ways to write an integer, shown for one decimal number in the More bases tab. In base −2 every integer needs no minus sign (6 is 11010). Balanced ternary uses the digits T for −1, 0 and 1 (8 is 10T). Factorial base (factoradic) uses the place values …, 5!, 4!, 3!, 2!, 1!, 0! with the digits written most significant first and separated by colons, and each digit can be at most its position number (463 is 3:4:1:0:1:0, that is 3×5! + 4×4! + 1×3! + 0×2! + 1×1! + 0×0!). Zeckendorf uses non-adjacent Fibonacci numbers and bijective base-26 is the spreadsheet column scheme (703 is AAA). Factorial, Zeckendorf and bijective are not defined for negative integers.
How do I read a bit field layout?
Write the layout as name:width pairs separated by commas, listed from the top bit down (or from bit 0, using the switch). For the first word of an IPv4 header, version:4, ihl:4, dscp:6, ecn:2, total_length:16 splits 0x45000054 into version 4, header length 5, DSCP 0, ECN 0 and length 84. Bits the layout does not cover are shown as (unused), a layout wider than the pattern is rejected, and the presets fill in common layouts for you.
Related Tools
Strings Analyzer
Pull numbers and printable strings out of a file first
File Type Detector
Identify a file from its magic bytes before converting its contents
Steganography Analyzer
Numbers and bytes often come out of hidden image data — test whether an image hides something
LSB Extractor
Pull the hidden bits out of an image, then convert them here
CTF Lab
All forensics, encoding and steganography tools