# Negative number encoder

World's simplest binary tool
Free online negative number encoder. Just load your negative integers and they will automatically get encoded to binary. It supports one's complement, two's complement, excess binary, sign bit, and base -2 representations. There are no ads, popups or nonsense, just an awesome negative binary encoder. Load negative values – get encoded binaries. Created for developers by developers from team Browserling.
announcement a new site!
We just launched a new site – Online List Tools – utilities for working with lists. Check it out!
Binary Representation
Select binary representation.
Sign Bit Example: -3 = '1' (sign bit) + 11 (three) = 111.
One's Complement Example: -3 = 011 (three) inverted = 100.
Two's Complement Example: -3 = 100 (three inverted) + 1 = 101.
Offset Binary Example: -3 = 001 (first bit flipped in two's complement).
Base Minus Two Example: -3 = (-2)³ + (-2)² + 0 + (-2)⁰ = 1101.
Human Example: -3 = '-' (sign) + 11 (three) = -11.
Binary Format
Select binary prefix or suffix.

## What is a negative number encoder?

This tool converts negative decimal numbers (and also positive) to the binary numeral system. The binary number system has only two symbols '0' and '1', and unlike the decimal number system, there is no negative sign '-'. Therefore, negative numbers in binary are represented in special binary schemes that encode the minus sign to a bit pattern. We have implemented five different signed number representations. The first one is the signed bit method. It's the simplest way to encode a signed integer to binary. In this method, the most significant bit (leftmost bit) is used as the sign of the number. If the integer is positive, then the leftmost bit is set to '0'. If the number is negative, then the leftmost bit is set to '1'. You can think of '0' as '+' and '1' as '-'. The remaining bits show the absolute value of the number. For example, 01011101b is a positive number because the first bit is '0' and the remaining bits are 1011101b, which is equal to 93 in decimal, therefore this number is +93. A negative -93 would be 11011101b. As you can see, the first bit is flipped from 0 to 1 and that also flips the sign of the number. The second method of representation is one's complement. The positive numbers in this method are the same as in the sign bit method but the negative numbers are created by applying the bitwise not operation to positive numbers. This operation replaces all zeros with ones and all ones with zeros. For example, if we have the number 93, which is 01011101b in binary, then after bitwise not this number becomes 10100010b, which is negative -93. The third encoding method is two's complement. This method is the dominant encoding scheme in computer hardware as it's easier to perform mathematical operations with it. In two's complement, a negative number is add-one its bitwise not. What this means is first we flip all bits in the number and then increment the number by one. To get -93 from 93, which is 01011101b, we first find its bitwise-not, which is 10100010b, and then add one. The number becomes 10100011b, which is -93. Another representation method is biased binary, also known as excess (offset) binary code. It uses a novel approach to encode negatives. In excess code, the number (-2)n is defined to be 0b and it can represent numbers from (-2)n to 2n-1. The number (-2)n+1 is 1b, (-2)n+2 is 10b, (-2)n+3 is 11b, and so on (you're counting up from (-2)n). If you want to find -93, then you first find the smallest n, such that this number fits in (-2)n. In this case, it's 7 because (-2)7 is -128. Then you define (-2)7 to be 00000000b, and now you count up: -128 is 00000000b, -127 is 00000001b, -126 is 00000010b, -125 is 00000011b, …, until you reach -93. In this case, -93 is 00100011b. If you keep counting up, you'll also find 93, which is 11011101b, and 127, which will be all one-bits 11111111b. Yet another encoding method is base minus two, also known as the negabinary method, which decomposes a number into a sum of powers of -2. For example, the number -94 is the sum 1×(-2)⁷ + 1×(-2)⁶ + 1×(-2)⁵ + 0×(-2)⁴ + 0×(-2)³ + 1×(-2)² + 1×(-2)¹ + 0×(-2)⁰ and from the coefficients before the -2 powers we find that -94 is 11100110b. In the same way, the number 94 is 1×(-2)⁸ + 1×(-2)⁷ + 0×(-2)⁶ + 1×(-2)⁵ + 0×(-2)⁴ + 0×(-2)³ + 0×(-2)² + 1×(-2)¹ + 0×(-2)⁰, which is 110100010b in base -2. The last method is a bonus method as it doesn't change the binary value in any way and only adds a minus '-' sign before negative binaries. We named it the human method because it makes it easy to distinguish between positive and negative binary numbers. This utility also allows you to customize the binary number format – you can add padding of any length and append a binary prefix or suffix to the output number. Simple and easy!

## Negative number encoder examples

Click to use
Two's Complement
This example converts ten negative integers into a binary representation using the two's complement algorithm. This algorithm finds the binary values of the corresponding positive integers, calculates their inverse (by complementing 1's and 0's), and adds +1 to the result. Applying this algorithm, for example, to the number -9, we get 9 = 1001b, inverted 0110b, add +1 = 0111b = -9.
-1 -2 -3 -4 -5 -6 -7 -8 -9 -10
1 10 01 100 011 010 001 1000 0111 0110
Required options
These options will be used automatically if you select this example.
Select binary representation.
Select binary prefix or suffix.
One's Complement
This example applies the one's complement algorithm to four negative numbers. It first finds the binary code of positive numbers and then complements all bits. This example also uses padding and the algorithm also complements the padding bits. In this case, the padding is 8, so the first number -5 is converted to the positive number 5 as 101, then full padding is added as 00000101, and now, the digits are inverted – 1's become 0's and 0's become 1's. The resulting number 11111010 is the number -5 in one's complement scheme. The output is also formatted with the "0b" prefix that says that it's a binary base number.
-5 -20 -30 -40
0b11111010 0b11101011 0b11100001 0b11010111
Required options
These options will be used automatically if you select this example.
Select binary representation.
Select binary prefix or suffix.
Sign Bit Representation
In this example, we enter both positive and negative integers in the input. We run the sign bit algorithm and as you can see, signed and unsigned numbers have the same binary values with the exception of the first bit – in negative integers, the most significant bit is 1 but in positive integers, it's 0. This is why this encoding scheme is called the sign bit representation – the first bit always tells the number's sign and the remaining bits tell the magnitude of the number. We have also added the "B" postfix and set padding to eight positions. Note that the padding doesn't include the sign bit.
32 16 8 4 2 1 -1 -2 -4 -8 -16 -32
00100000B 00010000B 00001000B 00000100B 00000010B 00000001B 100000001B 100000010B 100000100B 100001000B 100010000B 100100000B
Required options
These options will be used automatically if you select this example.
Select binary representation.
Select binary prefix or suffix.
Offset Binary
In this example, we convert three pairs of positive and negative numbers to the offset binary encoding. When encoding positive numbers, it finds the regular binary representation of the number and adds a 1 at the beginning, which indicates a plus sign. When encoding a negative number, this method acts a little bit differently. First, it converts the unsigned number to a binary base, then it calculates its inverse, then it increments the result by one (similar to two's complement method), and then it adds a 0 at the beginning, which indicates the minus sign.
2 -2 5 -5 7 -7
1000010₂ 0111110₂ 1000101₂ 0111011₂ 1000111₂ 0111001₂
Required options
These options will be used automatically if you select this example.
Select binary representation.
Select binary prefix or suffix.
Base -2 Representation
This example converts two numbers (9 and -9) from a base 10 to a negative base -2. To convert a number to a new base, it's first decomposed as a sum of powers of the new base and then the coefficients before each power term represent the number in this new base. With the base -2, the number is decomposed into a sum of powers of -2 and for the decimal number 9, we have the following result: 9₁₀ = 1×(-2)⁴ + 1×(-2)³ + 0×(-2)² + 0×(-2)¹ + 1×(-2)⁰ = 11001₂. For the negative number -9, we have the following: -9₁₀ = 1×(-2)³ + 0×(-2)² + 1×(-2)¹ + 1×(-2)⁰ = 1011₂.
9 -9
11001 1011
Required options
These options will be used automatically if you select this example.
Select binary representation.
Select binary prefix or suffix.
Human Representation
This example demonstrates the human method of representing negative binary numbers. We, humans, can simply add a - sign in front of the number, just like we do for regular decimal numbers, and that's what we do here. For example, the number 123 is 1111011 in binary and the number -123 is simply -1111011. We also add an uppercase binary prefix "0B" to the results so that everyone knew it was a binary number.
-123 -126060 -369088 -50505
-0B1111011 -0B11110110001101100 -0B1011010000111000000 -0B1100010101001001
Required options
These options will be used automatically if you select this example.
Select binary representation.
Select binary prefix or suffix.
Pro tips Master online binary tools
You can pass input to this tool via ?input query argument and it will automatically compute output. Here's how to type it in your browser's address bar. Click to try!
All binary tools
Didn't find the tool you were looking for? Let us know what tool we are missing and we'll build it!
Quickly convert ASCII characters to binary numbers.
Quickly convert binary numbers to ASCII characters.
Quickly convert UTF8 characters to binary bits.
Quickly convert binary bits to UTF8 characters.
Quickly generate random binary values.
Quickly create an image from a binary number.
Quickly convert binary numbers to octal numbers.
Quickly convert octal numbers to binary numbers.
Quickly convert binary numbers to decimal numbers.
Quickly convert decimal numbers to binary numbers.
Quickly convert binary numbers to hexadecimal numbers.
Quickly convert hexadecimal numbers to binary numbers.
Quickly convert octal values to BCD values.
Quickly convert BCD values to octal values.
Quickly convert decimal values to BCD values.
Quickly convert BCD values to decimal values.
Quickly convert hex values to BCD values.
Quickly convert BCD values to hex values.
Quickly convert a string to binary values.
Quickly convert binary values to a string.
Quickly convert binary numbers to reflected binary numbers.
Quickly convert reflected binary numbers to binary numbers.
Quickly convert octal numbers to reflected binary numbers.
Quickly convert reflected binary numbers to octal numbers.
Quickly convert decimal numbers to reflected binary numbers.
Quickly convert reflected binary numbers to decimal numbers.
Quickly convert hexadecimal numbers to Gray code.
Quickly convert Gray code to hexadecimal numbers.
Quickly calculate the sum of a bunch of binary values.
Quickly calculate the difference of a bunch of binary values.
Quickly calculate the product of a bunch of binary values.
Quickly convert a negative number to a binary representation.
Quickly convert a negative binary number to a decimal number.
Quickly convert base 2 numbers to base -2.
Quickly calculate bitwise AND of a bunch of binary values.
Quickly calculate bitwise NAND of a bunch of binary values.
Quickly calculate bitwise OR of a bunch of binary values.
Quickly calculate bitwise NOR of a bunch of binary values.
Quickly calculate bitwise XOR of a bunch of binary values.
Quickly calculate bitwise XNOR of a bunch of binary values.
Quickly calculate bitwise NOT of a bunch of binary values.
Quickly find the number of high bits in binary values.
Quickly find the number of low bits in binary values.
Quickly invert bits of binary numbers.
Quickly reverse the order of bits in binary numbers.
Quickly convert plain text to binary values.
Quickly convert binary numbers to plain text.
Quickly randomize the order of bits in binary numbers.
Quickly rotate bits in binary numbers to the left or right.
Quickly shift bits of a binary number to the left.
Quickly shift bits of a binary number to the right.
Coming soon These binary tools are on the way
Binary Editor
View and edit binary values in your browser.
Create a File from Binary Values
Convert binary numbers to a binary file.
Binary Dump a File
Create a binary dump of files in your browser.
Convert Binary to Ternary
Convert binary numbers to ternary numbers.
Convert Ternary to Binary
Convert ternary numbers to binary numbers.
Convert Binary to Arbitrary Base
Convert binary values to any base (up to base 64).
Convert Binary to Roman Number
Convert binary numbers to Roman numerals.
Convert Roman Number to Binary
Convert Roman numerals to binary values.
Find the sum of set bits in binary numbers.
Swap Binary Bits
Swap pairs of adjacent bits in a binary number.
Generate a Binary Sequence
Create a list of increasing of decreasing binary numbers.
Generate an Alternating Binary Sequence
Create a binary number with alternating bits.
Binary Sheffer Stroke
Calculate bitwise sheffer stroke operator of binary values.
Convert Binary to BCD
Encode every binary bit as a binary coded decimal.
Convert BCD to Binary
Decode binary coded decimals to binary bits.
Divide Binary Numbers
Perform division operation on several binary numbers.
Rotate a Binary Right
Rotate bits of a binary number to the right.
Rotate a Binary Left
Rotate bits of a binary number to the left.
Extract Bits from Binary Numbers
Extract n-th bit from a binary number.
Calculate Parity
Count parity of a binary number.
Convert EBCDIC to Binary
Convert EBCDIC characters to binary values.
Convert Binary to EBCDIC
Convert binary bits to EBCDIC symbols.
Swap Binary Endianness
Change endianness of a binary number.
Convert Little Endian Binary to Big Endian Binary
Convert a binary number from little endian to big endian.
Convert Big Endian Binary to Little Endian Binary
Convert a binary number from big endian to little endian.
Convert a Floating Point Number to Binary
Find the binary representation of a floating point number.
Convert a Binary Number to Floating Point
Decode a binary number to a floating point number.
Binarize an Image
Convert any image to binary colors.
Convert Binary Values to a Bitmap
Convert a binary string to a bitmap image.
Convert a Bitmap to Binary Numbers
Convert a bitmap image to zeros and ones.
Duplicate Bits in Bytes
Replace each bit with two bits in each byte.
Convert Bits to Bytes
Group bits together to create bytes.
Convert Bytes to Bits
Expand bytes into individual bits.
Split Binary Values
Split a binary number into smaller binary numbers.
Join Binary Values
Join multiple smaller binary numbers into a single binary.
Slice Binary Values
Extract a part of a binary number.
Replace Binary Values
Substitute ones and zeros with any other values.
Truncate Binary Values
Drop leading or trailing bits and make a binary value shorter.
Randomly Flip Binary Bits
Introduce random errors in binary values.
Color Binary Numbers
Print the same binary numbers in the same colors.
Color Binary Bits
Use two different colors for binary zeros and ones.
Compare Binary Streams
See the difference between two binary blobs of bytes.
Visualize Binary Operations
Create visualizations of and, or, xor, not binary ops.
Create a Binary ZigZag
Make binary bits go in a zigzag.
Create a Binary Spiral
Make binary bits go in a spiral.
Create a Binary Circle
Make binary bits go in a circle.
Create a Binary Square
Create a sqaure shape from binary bits.
Generate Random Bits
Create a sequence of random binary bits.
Generate Random Nibbles
Create a sequence of random binary nybbles.
Generate Random Bytes
Create a sequence of random binary octets.
Generate Random Words
Create a sequence of random binary words.
Generate Random Double Words
Create a sequence of random binary long words.
Generate Binary Look-and-Say
Create a look-and-say sequence in base-2.
RLE-encode a Binary Number
Apply run length encoding algorithm on a binary sequence.
RLE-decode a Binary Number
Decode a previously RLE-encoded binary sequence.
Spell a Binary Number
Spell a binary number in words.
Analyze Binary Data
Print statistics of the input binary values.