# 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.

Tool Options

#### 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 try!
click me

### 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.
click me

### 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.
click me

### 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.
click me

### 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.
click me

### 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.
click me

### 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 tipsMaster 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

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.

Generate Binary Choices

Create a list of all binary choices of a specific length.

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.

#### Subscribe!

Subscribe to our updates. We'll let you know when we release new tools, features, and organize online workshops.