In November 1937, George Stibitz, then working at Bell Labs, completed a relay-based computer he dubbed the "Model K" (for "Kitchen", where he had assembled it), which calculated using binary addition.[4] Bell Labs thus authorized a full research programme in late 1938 with Stibitz at the helm. Their Complex Number Computer, completed January 8, 1940, was able to calculate complex numbers. In a demonstration to the American Mathematical Society conference at Dartmouth College on September 11, 1940, Stibitz was able to send the Complex Number Calculator remote commands over telephone lines by a teletype. It was the first computing machine ever used remotely over a phone line. Some participants of the conference who witnessed the demonstration were John Von Neumann, John Mauchly dan Norbert Wiener, who wrote about it in his memoirs.[5][6][7]-->

A binary nombor can be represented by any sequence of bits (binary digits), which in turn may be represented by any mechanism capable of being in two mutually exclusive states. The following sequences of symbols could all be interpreted as the binary numeric value of 667:

The numeric value represented in each case is dependent upon the value assigned to each symbol. Dalam komputer, angka nilai ini boleh diwakili oleh dua voltan berbeza; on a magneticdisk, kekutuban magnet may be used. A "positive", "yes", or "on" state is not necessarily equivalent to the numerical value of one; it depends on the architecture in use.

In keeping with customary representation of numerals using Arabic numerals, binary numbers are commonly written using the symbols 0 dan 1. When written, binary numerals are often subscripted, prefixed or suffixed in order to indicate their base, or radix. The following notations are equivalent:

Angka perduaan biasanya disebut digit demi digit, in order to distinguish them from decimal numbers. Contohnya, the binary numeral 100 dilafazkan satu kosong kosong, bukannya seratus, to make its binary nature explicit, dan untuk tujuan kebetulan. Since the binary numeral 100 is equal to the decimal value four, it would be confusing to refer to the numeral as one hundred.

Counting in binary is similar to counting in any other nombor system. Beginning with a single digit, counting proceeds through each symbol, in increasing order. Decimal counting uses the abjad 0 hingga 9, manakala angka perduaan hanya menggunakan abjad 0 dan 1.

When the symbols for the first digit are exhausted, the next-higher digit (to the left) is incremented, dan counting starts over at 0. In decimal, counting proceeds like so:

Since binary is a base-2 system, each digit represents an increasing power of 2, with the rightmost digit representing 20, the next representing 21, then 22, dan so on. To determine the decimal representation of a binary nombor simply take the sum of the products of the binary digits dan the powers of 2 which they represent. Contohnya, nombor binari:

Fractions in binary only terminate if the denominator has 2 as the only prime factor. As a hasil, 110{\displaystyle {\tfrac {1}{10}}} does not have a finite binary representation, dan this causes 10(0.1) to be not precisely equal to 1 in floating point arithmetic. As an example, to interpret the binary expression for 1/3 = .010101..., this means: 1/3 = 0 × 2−1 + 1 × 2−2 + 0 × 2−3 + 1 × 2−4 + ... = 0.3125 + ... An exact value cannot be found with a sum of a finite nombor of inverse powers of two, dan zeros dan ones alternate forever.

Adding two "1" digits menghasilkan digit "0", while 1 will have to be added to the next column. This is similar to what happens in decimal when certain single-digit numbers are added together; if the hasil equals or exceeds the value of the radix (10), the digit to the left is incremented:

5 + 5 → 0, carry 1 (since 5 + 5 = 0 + 1 × 10)

7 + 9 → 6, carry 1 (since 7 + 9 = 6 + 1 × 10)

Ini dikenali sebagai carrying.Bila hasil of an addition exceeds the value of a digit, the procedure is to "carry" the excess amount divided by the radix (that is, 10/10) to the left, adding it to the next positional value. This is correct since the next position has a weight that is higher by a factor equal to the radix. Carrying works the same way in binary:

Dalam contoh ini, dua angka sedang ditambah: 011012 (1310) dan 101112 (2310). The top row shows the carry bits used. Starting in the rightmost column, 1 + 1 = 102. The 1 is carried to the left, dan the 0 is written at the bottom of the rightmost column. The second column from the right is added: 1 + 0 + 1 = 102 again; the 1 is carried, dan 0 is written at the bottom. The third column: 1 + 1 + 1 = 112. This time, a 1 is carried, dan a 1 is written in the bottom row. Proceeding like this gives the final answer 1001002 (36 decimal).

When computers must add two numbers, the rule that: x xor y = (x + y) mod 2 for any two bits x dan y allows for very fast calculation, as well.

A simplification for many binary addition problems is the Long Carry Method or Brookhouse Method of Binary Addition. This method is generally useful in any binary addition where one of the numbers has a long string of “1” digits. For example the following large binary numbers can be added in two simple steps without multiple carries from one place to the next.

Dalam contoh ini, two numerals are being added together: 1 1 1 0 1 1 1 1 1 02 (95810) dan 1 0 1 0 1 1 0 0 1 12 (69110). The top row shows the carry bits used. Instead of the standard carry from one column to the next, the lowest place-valued "1" with a "1" in the corresponding place value beneath it may be added dan a "1" may be carried to one digit past the end of the series. These numbers must be crossed off since they are already added. Then simply add that hasil to the uncanceled digits in the second row. Proceeding like this gives the final answer 1 1 0 0 1 1 1 0 0 0 12 (164910).

Subtracting a "1" digit from a "0" digit produces the digit "1", while 1 will have to be subtracted from the next column. Ini dikenali sebagai peminjaman. The principle is the same as for carrying. When the hasil of a subtraction is less than 0, the least possible value of a digit, the procedure is to "borrow" the deficit divided by the radix (that is, 10/10) from the left, subtracting it from the next positional value.

Subtracting a positive nombor is equivalent to adding a negative nombor of equal absolute value; computers typically use two's complement notation to represent negative values. This notation eliminates the need for a separate "subtract" operation. Using two's complement notation subtraction can be summarized by the following formula:

Pendaraban in binary is similar to its decimal counterpart. Two numbers A dan B can be multiplied by partial products: for each digit in B, the product of that digit in A is calculated dan written on a new line, shifted leftward so that its rightmost digit lines up with the digit in B that was used. The sum of all these partial products gives the final hasil.

Since there are only two digits in binary, there are only two possible outcomes of each partial multiplication:

Here, the divisor is 1012, atau 5 perpuluhan, sementara the dividend is 110112, atau 27 perpuluhan. The procedure is the same as that of decimal pembahagian panjang; here, the divisor 1012 goes into the first three digits 1102 of the dividend one time, so a "1" is written on the top line. This hasil is multiplied by the divisor, dan subtracted from the first three digits of the dividend; the next digit (a "1") is included to obtain a new three-digit sequence:

1
___________
1 0 1 ) 1 1 0 1 1
− 1 0 1
-----
0 1 1

The procedure is then repeated with the new sequence, continuing until the digits in the dividend have been exhausted:

Though not directly related to the numerical interpretation of binary symbols, sequences of bits may be manipulated using Boolean logical operators. When a string of binary symbols is manipulated in this way, it is called a bitwise operation; the logical operators AND, OR, dan XOR may be performed on corresponding bits in two binary numerals provided as input. The logical NOT operation may be performed on individual bits in a single binary numeral provided as input. Sometimes, such operations may be used as arithmetic short-cuts, dan may have other computational benefits as well. For example, an arithmetic shift left of a binary nombor is the equivalent of multiplication by a (positive, integral) power of 2.

Conversion from base-2 to base-10 proceeds by applying the preceding algorithm, so to speak, in reverse. The bits of the binary nombor are used one by one, starting with the most significant (leftmost) bit. Beginning with the value 0, repeatedly double the prior value dan add the next bit to produce the next value. This can be organized in a multi-column table. For example to convert 100101011012 to decimal:

Nilai dahulu

× 2 +

Bit berikut

Nilai berikut

0

× 2 +

1

= 1

1

× 2 +

0

= 2

2

× 2 +

0

= 4

4

× 2 +

1

= 9

9

× 2 +

0

= 18

18

× 2 +

1

= 37

37

× 2 +

0

= 74

74

× 2 +

1

= 149

149

× 2 +

1

= 299

299

× 2 +

0

= 598

598

× 2 +

1

= 1197

Hasil adalah 119710. Note that the first Prior Value of 0 is simply an initial decimal value. This method is an application of the skema Horner.

Binary

1

0

0

1

0

1

0

1

1

0

1

Perpuluhan

1×210 +

0×29 +

0×28 +

1×27 +

0×26 +

1×25 +

0×24 +

1×23 +

1×22 +

0×21 +

1×20 =

1197

The fractional parts of a nombor are converted with similar methods. They are again based on the equivalence of shifting with doubling or halving.

In a fractional binary nombor such as .110101101012, the first digit is 12{\displaystyle {\begin{matrix}{\frac {1}{2}}\end{matrix}}}, the second (12)2=14{\displaystyle {\begin{matrix}({\frac {1}{2}})^{2}={\frac {1}{4}}\end{matrix}}}, etc. So if there is a 1 in the first place after the decimal, then the nombor is at least 12{\displaystyle {\begin{matrix}{\frac {1}{2}}\end{matrix}}}, dan vice versa. Double that nombor is at least 1. This suggests the algorithm: Repeatedly double the nombor to be converted, record if the hasil is at least 1, dan then throw away the integer part.

This is also a repeating binary fraction 0.00011... . It may come as a surprise that terminating decimal fractions can have repeating expansions in binary. It is for this reason that many are surprised to discover that 0.1 + ... + 0.1, (10 additions) differs from 1 in floating point arithmetic. In fact, the only binary fractions with terminating expansions are of the form of an integer divided by a power of 2, which 1/10 is not.

The final conversion is from binary to decimal fractions. The only difficulty arises with repeating fractions, but otherwise the method is to shift the fraction to an integer, convert it as above, dan then divide by the appropriate power of two in the decimal base. For example:

x{\displaystyle x}

=

1100

.101110...

x×26{\displaystyle x\times 2^{6}}

=

1100101110

.01110...

x×2{\displaystyle x\times 2}

=

11001

.01110...

x×(26−2){\displaystyle x\times (2^{6}-2)}

=

1100010101

x{\displaystyle x}

=

(789/62)10

Another way of converting from binary to decimal, often quicker for a person familiar with hexadecimal, is to do so indirectly—first converting (x{\displaystyle x} in binary) into (x{\displaystyle x} in hexadecimal) dan then converting (x{\displaystyle x} in hexadecimal) into (x{\displaystyle x} in decimal).

For very large numbers, these simple methods are inefficient because they perform a large nombor of multiplications or divisions where one operand is very large. A simple divide-dan-conquer algorithm is more effective asymptotically: given a binary nombor, it is divided by 10k, where k is chosen so that the quotient roughly equals the remainder; then each of these pieces is converted to decimal dan the two are concatenated. Given a decimal nombor, it can be split into two pieces of about the same size, each of which is converted to binary, whereupon the first converted piece is multiplied by 10k dan added to the second converted piece, where k is the nombor of decimal digits in the second, least-significant piece before conversion.

To convert a hexadecimal nombor into its binary equivalent, simply substitute the corresponding binary digits:

3A16 = 0011 10102

E716 = 1110 01112

To convert a binary nombor into its hexadecimal equivalent, divide it into groups of four bits. If the nombor of bits isn't a multiple of four, simply insert extra 0 bits at the left (called padding). For example:

10100102 = 0101 0010 grouped with padding = 5216

110111012 = 1101 1101 grouped = DD16

To convert a hexadecimal nombor into its decimal equivalent, multiply the decimal equivalent of each hexadecimal digit by the corresponding power of 16 dan add the resulting values:

Binary is also easily converted to the octal numeral system, since octal uses a radix of 8, which is a power of two (namely, 23, so it takes exactly three binary digits to represent an octal digit). The correspondence between octal dan binary numerals is the same as for the first eight digits of hexadecimal in the table above. Binary 000 is equivalent to the octal digit 0, binary 111 is equivalent to octal 7, dan so forth.

Octal

Binary

0

000

1

001

2

010

3

011

4

100

5

101

6

110

7

111

Converting from octal to binary proceeds in the same fashion as it does for hexadecimal:

Non-integers can be represented by using negative powers, which are set off from the other digits by means of a radix point (called a decimal point in the decimal system). For example, the binary nombor 11.012 thus means:

1 × 21

(1 × 2 = 2)

plus

1 × 20

(1 × 1 = 1)

plus

0 × 2−1

(0 × ½ = 0)

plus

1 × 2−2

(1 × ¼ = 0.25)

For a total of 3.25 decimal.

All dyadic rational numbersp2a{\displaystyle {\frac {p}{2^{a}}}} have a terminating binary numeral—the binary representation has a finite nombor of terms after the radix point. Other rational numbers have binary representation, but instead of terminating, they recur, with a finite sequence of digits repeating indefinitely. For instance

The phenomenon that the binary representation of any rational is either terminating or recurring also occurs in other radix-based numeral systems. See, for instance, the explanation in decimal. Another similarity is the existence of alternative representations for any terminating representation, relying on the fact that 0.111111... is the sum of the geometric series 2−1 + 2−2 + 2−3 + ... which is 1.