Digital Electronics Page

From bibbleWiki
Jump to navigation Jump to search


Gray Codes

This is a technique where we convert number from binary to grays. We do this because Gray reduces the bits we need to change to get to the next number. e.g. changing from 2 to 3 decimal requires a 1 bit change.

DecimalBCDGray Code
000000000
100010001
200100011
300110010
401000110
501010111
601100101
701110100
810001100
910011101
1010101111

Excess-3 Codes

Conversion to Excess-3

To get an excess-3 code of a decimal number simply add 3 to each decimal digit. And then we write the 4-bit binary number for each digit of the decimal number. We can find the excess-3 code of the given binary number by using the following steps:

  • We find the decimal number of the given binary number.
  • Then we add 3 in each digit of the decimal number.
  • Now, we find the binary code of each digit of the newly generated decimal number.

We can also add 0011 in each 4-bit BCD code of the decimal number for getting excess-3 code.

DecimalBCDExcess-3
000000011
100010100
200100101
300110110
401000111
501011000
601101001
701111010
810001011
910011100

For example the excess-3 Code for 25.35 would be

25.35
33 33
-----
58 68

Which is

5 0100
8 1000
6 0110
8 1000

Therefore

01001000.01101000

Addition is Excess-3

Addition in Excess-3 is just binary addition with one more rule If you need to carry a number you need to remove +3, if you don't carry a number you need to subtract 3. i.e. if the addition of a number result in an extra digit (carry) you need to add. An Example

Let's add 27 and 39
Step 1 Calculate Binary for numbers

 27 = 0010 0111
 39 = 0011 1001

Step 2 Calculate Excess-3 for these

 0010 0111     
 0011 0011
 ---------
 0101 1010 <= Excess-3 for 27
 
 0011 1001
 0011 0011
 ---------
 0110 1100 <= Excess-3 for 39

Step 3 Add Excess-3 codes together

 0101 1010
 0110 1100
 ---------
      (carry 1)
 1000 0110

Step 4 Add or take away 3 from each side. In this case we carried on the right so we add and subtract on the left

 1000  0110
-0011 +0011 
 ----------
 1001  1001
    9     9 <- This is the Excess-3 result NOT the answer we need to convert back to BCD to get the answer

Or we can convert the known answer 27 + 39 = 66 to Excess-3

   66      0110 0110   
   33      0011 0011 
 ----      ---- ----
   99      1001 1001

Signed Number

The signed numbers are represented in three ways.

  • Sign-Magnitude form

In this form, a binary number has a bit for a sign symbol. 1=negative 0=Positive

  • 1's Compliment.E.g 10101110 invert each bit 01010001.This is a positive number
  • 2's Compliment. E.g 10101110 invert each bit 01010001 Then add 1 to the LSB of this result 01010001+1=01010010