<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://cpudev.org/w/index.php?action=history&amp;feed=atom&amp;title=Binary_arithmetic</id>
	<title>Binary arithmetic - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://cpudev.org/w/index.php?action=history&amp;feed=atom&amp;title=Binary_arithmetic"/>
	<link rel="alternate" type="text/html" href="https://cpudev.org/w/index.php?title=Binary_arithmetic&amp;action=history"/>
	<updated>2026-04-25T16:37:49Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.36.1</generator>
	<entry>
		<id>https://cpudev.org/w/index.php?title=Binary_arithmetic&amp;diff=16&amp;oldid=prev</id>
		<title>Demindiro: First draft. Written under the assumption that readers are not familiar with binary arithmetic yet, so heavy on examples.</title>
		<link rel="alternate" type="text/html" href="https://cpudev.org/w/index.php?title=Binary_arithmetic&amp;diff=16&amp;oldid=prev"/>
		<updated>2023-02-18T13:32:04Z</updated>

		<summary type="html">&lt;p&gt;First draft. Written under the assumption that readers are not familiar with binary arithmetic yet, so heavy on examples.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;As the name digital implies, digital computers work on on bits with a value of either 0 or 1.&lt;br /&gt;
Accordingly, all operations, including arithmetic, operate on 0 or 1 values.&lt;br /&gt;
&lt;br /&gt;
Numbers that consists only of 0 or 1s are called &amp;#039;&amp;#039;&amp;#039;binary&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;base2&amp;#039;&amp;#039;&amp;#039; numbers.&lt;br /&gt;
Binary numbers are often suffixed with a subscript 2, for example 1011011&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
= Converting between decimal and binary =&lt;br /&gt;
&lt;br /&gt;
== Decimal as a sum of powers of 10 ==&lt;br /&gt;
&lt;br /&gt;
Any decimal number can be written as a sum of power of 10s.&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
* 42 = 4*10&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; + 4*10&amp;lt;sup&amp;gt;0&amp;lt;/sup&amp;gt;&lt;br /&gt;
* 57005 = 5*10&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; + 7*10&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; + 0*10&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; + 0*10&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; + 5*10&amp;lt;sup&amp;gt;0&amp;lt;/sup&amp;gt;&lt;br /&gt;
* 48.879 = 4*10&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; + 8*10&amp;lt;sup&amp;gt;0&amp;lt;/sup&amp;gt; + 8*10&amp;lt;sup&amp;gt;-1&amp;lt;/sup&amp;gt; + 7*10&amp;lt;sup&amp;gt;-2&amp;lt;/sup&amp;gt; + 9*10&amp;lt;sup&amp;gt;-3&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Binary numbers can be written in the same way though with powers of 2 instead of 10.&lt;br /&gt;
&lt;br /&gt;
== Converting from binary to decimal ==&lt;br /&gt;
&lt;br /&gt;
* 1010&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; = 1*2&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; + 0*2&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; + 1*2&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; + 0*2&amp;lt;sup&amp;gt;0&amp;lt;/sup&amp;gt; = 8 + 2 = 10&lt;br /&gt;
* 100.01&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; = 2&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; + 2&amp;lt;sup&amp;gt;-2&amp;lt;/sup&amp;gt; = 4 + 1/4 = 4.25&lt;br /&gt;
&lt;br /&gt;
== Converting from decimal to binary ==&lt;br /&gt;
&lt;br /&gt;
# Divide the decimal number by 2.&lt;br /&gt;
# Append the remainder to the &amp;#039;&amp;#039;left&amp;#039;&amp;#039; of the binary number.&lt;br /&gt;
# Repeat with quotient as dividend until it is 0.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
* 29 = 11101&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;&lt;br /&gt;
** 29 / 2 = 14, remainder 1&lt;br /&gt;
** 14 / 2 = 7, remainder 0&lt;br /&gt;
** 7 / 2 = 3, remainder 1&lt;br /&gt;
** 3 / 2 = 1, remainder 1&lt;br /&gt;
** 1 / 2 = 0, remainder 1&lt;br /&gt;
&lt;br /&gt;
The same technique can be used for rational numbers.&lt;br /&gt;
&lt;br /&gt;
# First multiply by some power of 2 to convert it to an integer.&lt;br /&gt;
# Apply above procedure.&lt;br /&gt;
# Divide by the same power of 2 to get the correct result.&lt;br /&gt;
&lt;br /&gt;
= Mathematical operations =&lt;br /&gt;
&lt;br /&gt;
The same techniques used for addition, multiplication ... used for decimal numbers can also be used for binary numbers.&lt;br /&gt;
&lt;br /&gt;
== Addition &amp;amp; subtraction ==&lt;br /&gt;
&lt;br /&gt;
   22       10110&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;&lt;br /&gt;
 + 19     + 10011&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;&lt;br /&gt;
 ----     --------&lt;br /&gt;
   41      101001&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Multiplication ==&lt;br /&gt;
&lt;br /&gt;
   12         1100&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;&lt;br /&gt;
 *  5       *  101&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;&lt;br /&gt;
 ----       -------&lt;br /&gt;
   10         1100&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;&lt;br /&gt;
 + 50            0&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;&lt;br /&gt;
 ----     + 110000&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;&lt;br /&gt;
   60     ---------&lt;br /&gt;
             111100&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Division ==&lt;br /&gt;
&lt;br /&gt;
   372 | 5        101110100 | 101&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;&lt;br /&gt;
 - 35  +----    - 101       +---------&lt;br /&gt;
 ----  | 74     -----       | 1001010&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;&lt;br /&gt;
    22 |            01      |&lt;br /&gt;
  - 20 |         -   0      |&lt;br /&gt;
  ---- |         -----      |&lt;br /&gt;
     2 |             11     |&lt;br /&gt;
                  -   0     |&lt;br /&gt;
                  -----     |&lt;br /&gt;
                     110    |&lt;br /&gt;
                   - 101    |&lt;br /&gt;
                   -----    |&lt;br /&gt;
                       11   |&lt;br /&gt;
                    -   0   |&lt;br /&gt;
                    -----   |&lt;br /&gt;
                       110  |&lt;br /&gt;
                     - 101  |&lt;br /&gt;
                     -----  |&lt;br /&gt;
                         10 |&lt;br /&gt;
                      -   0 |&lt;br /&gt;
                      ----- |&lt;br /&gt;
                         10 |&lt;/div&gt;</summary>
		<author><name>Demindiro</name></author>
	</entry>
</feed>