ABACUS: MYSTERY OF THE BEAD
The Bead Unbaffled - An Abacus Manual

Convert Hex Numbers to Binary and Add

Here's an easy and effective method for adding hexadecimal (base 16) numbers using the binary (base 2) number system. The method involves converting the hexadecimal numbers to binary numbers which are then added together. When the sums are completed the binary answer is converted back to hexadecimal.

What is binary? How does it work?

The binary number system is a base 2 number system which has only two values; 0 and 1. It's the number system used internally by almost all modern computers. Binary numbers can easily be placed onto the soroban by either leaving a rod empty or by adding one lower (earth) bead; 101101.

Convert binary 101101 to hexadecimal

When converting a binary number like 101101 into a hexadecimal number it's a good idea to separate the binary numbers into groups of four rods each. It helps to make the hexadecimal numbers more recognizable. Start from the right and work left counting groups of four. Whenever the binary numbers can't group into four 10,1101 add zeros to make up the difference 0010,1101. Consult the Hexadecimal and Binary Equivalents table below and convert. This hexadecimal group 0010,1101 reads 2D

Two things we need to know before we begin to add in binary.

1) We need to know the binary number equivalents of hex 1 through F. Use your abacus and count to see the pattern. If you can count binary 1, 2 and 3 on your abacus you're on your way because the pattern repeats over and over. It's that simple.

Hexadecimal and Binary Equivalents table

1 = 0001

2 = 0010

3 = 0011

4 = 0100

5 = 0101

6 = 0110

7 = 0111

8 = 1000

9 = 1001

A = 1010

B = 1011

C = 1100

D = 1101

E = 1110

F = 1111


Normalize a Binary Number

2) We need to know how to normalize a binary number. Because binary numbers only have two values (0 and 1) we need to normalize a number when it's value is greater than 1. Normalizing is done by carrying 1 to the left for every 2 we have on any given rod.

For Example: After adding binary numbers on our abacus we could end up with the following. Because they aren't in binary form we have to normalize them to make them binary numbers.

   0102 would normalize to binary 0110
   0003 would normalize to binary 0011
   0004 would normalize to 0012, then 0020 and finally to binary 0100
   0202 would normalize to 1002. then finally to binary 1010

Adding a Simple Binary Number

Example 1: Add binary 0001 + 0011 = 0100 (in base 10 and base 16 this is 1+3 = 4)

   abcd
   0001 : set 0001
+ 0011 : add 0011
= 0012 : Here we have to normalize because we can't have a value of more than 1 on any rod.

   0020 : normalize the 2 on rod d
   0100 : normalize the 2 on rod c and the answer is 0100, which is 4 in hexadecimal.

Convert a Hexadecimal Number to Binary then Add

In order to add hexadecimal numbers consult the 'Hex Binary Equivalents table' and convert the hex numbers to binary. Then simply add the binary numbers together and convert back to hexadecimal.

Example 2: Add hex A+A = 14. Use the table and convert hex A to binary. In binary the problem is 1010 + 1010 = 10100

   abcdefgh
   00001010
+ 00001010
= 00002020 : not normalized

   00010020 : normalize the 2 on e
   00010100 : normalize the 2 on g and we have the binary answer 10100. Now convert this to hex;

The answer: Starting from the right and working left, separate the binary number 10100 into groups of four 0001,0100 which is 14 hex.

Example 3: Add hex 9 + 3 = C. In binary the problem is 1001 + 0011 = 1100

   abcdefgh
   00001001
+ 00000011
= 00001012 : not normalized

  00001020 : normalize the 2 on h
  00001100 : normalize the 2 on g and we have the binary answer 1100.

The answer: The binary number is already grouped into four digits so the hexadecimal number reads1100 which is C.

Example 4: Add hex A+B+C= 21. In binary the problem is 1010 + 1011 + 1100 = 100001

   abcdefgh
   00001010
   00001011
+ 00001100
= 00003121 : not normalized

   00011121 : normalize 3 on e
   00011201 : normalize 2 on g
   00012001 : normalize 2 on f
   00020001 : normalize 2 on e
   00100001 : and finally normalize 2 on d and we have the binary answer 100001. Now convert this to hex;

The answer: Working right to left, separate the binary number 100001 into groups of four digits 0010,0001 which is 21 hex.

Example 5: Add hex 21 + 3B = 5C. In binary the problem is 100001 + 111011 = 1011100

   abcdefgh
   00100001
+ 00111011
= 00211012 : not normalized

   01011020 : normalize 2 on c
   01011100 : normalize 2 on g and we have the binary answer 1011100. Now convert this to hex;

The answer: Working right to left, separate the binary number 1011100 into groups of four digits 0101,1100 which is 5C.

This is such an easy way to add hexadecimal numbers in part because all we're doing is adding the binary numbers 1 and 0. Normalizing a number is a little tricky at first but in the end even that is simple enough to learn. The really great thing is that this technique can be done on any kind of abacus, be it a Japanese 1:4 bead soroban or Chinese 2:5 bead suan pan.

Thanks to Yahoo soroban/abacus group members
Steve Treadwell
Hannu Hinkka
Marcos Labriola
Fabrice Bouillerot
 
Abacus: Mystery of the Bead
Advanced Abacus Techniques
November, 2015
Totton Heffelfinger   Toronto Ontario  Canada
Email
totton[at]idirect[dot]com