Waterloo

From 2007.igem.org

(Difference between revisions)
(Binary Addition)
(Half Adder)
Line 19: Line 19:
To add two binary numbers, the process is much the same as adding two decimal (ordinary) numbers, except that instead of carrying when two digits add to ten, carrying must be performed when two digits add to two. In other words, 0 + 1 adds to 1, but 1 + 1 adds to 0 with a carry of 1, which gives 10 (just as in decimal 1 + 9 would add to 0 with a carry of 1, to give 10).
To add two binary numbers, the process is much the same as adding two decimal (ordinary) numbers, except that instead of carrying when two digits add to ten, carrying must be performed when two digits add to two. In other words, 0 + 1 adds to 1, but 1 + 1 adds to 0 with a carry of 1, which gives 10 (just as in decimal 1 + 9 would add to 0 with a carry of 1, to give 10).
-
===Half Adder===
+
===Full-Adder vs Half-Adder===
 +
Any construct designed to add two numbers will be either a full-adder or a half-adder. A full-adder can two numbers of any length, whereas a half-adder can only add together two single digits.
 +
 
 +
For example, a half-adder could perform the addition 1 + 0 = 1, or 1 + 1 = 10, but it would take a full-adder to be able to perform 1100101 + 100101.
 +
 
 +
In terms of implementation, we say a half-adder accepts two inputs (the two digits to be summed) and returns two outputs (the "sum bit" and the "carry bit"). To add 1 + 1, the two inputs would each be 1, the sum bit would be 0, and the carry bit would be 1.
 +
 
 +
A full-adder can be constructed by linking together multiple half-adders, with a slight modification: each half-adder must now accept, as an input, the carry bit from the previous half-adder in the chain. Each half-adder is responsible for adding one pair of corresponding digits from the two numbers to be added, ''and'' it must add to that the carry bit from the previous half-adder. The half-adder will output the resulting sum bit and carry bit, and the process will continue until all the digits have been added.
 +
 
===DNA as Logic Gates===
===DNA as Logic Gates===

Revision as of 17:52, 21 October 2007

UWLogo.jpg University of Waterloo iGEM Team

Contents

Our Team

The UW iGEM team is a very interdisciplinary group. Our team members span the three faculties of Science, Mathematics and Engineering and include the programs of Biology, Biomedical Sciences, Computer Science, Bioinformatics, Computer Engineering, Electrical Engineering, Chemical Engineering, and Mathematical Physics at undergraduate and graduate levels. Even our professor advisors are cross-appointed to two other faculties. Our diverse backgrounds bring together a wide range of skills and ideas to the iGEM project. iGEM is giving us the opportunity to apply the skills learned in our lectures and labs to real life applications in molecular biology and biotechnology.

Abstract

Background

Binary Addition

When working in binary, only two digits are used: 0 and 1. Counting therefore proceeds as:

  1. 1
  2. 10
  3. 11
  4. 100
  5. 101
  6. 111

etc.

To add two binary numbers, the process is much the same as adding two decimal (ordinary) numbers, except that instead of carrying when two digits add to ten, carrying must be performed when two digits add to two. In other words, 0 + 1 adds to 1, but 1 + 1 adds to 0 with a carry of 1, which gives 10 (just as in decimal 1 + 9 would add to 0 with a carry of 1, to give 10).

Full-Adder vs Half-Adder

Any construct designed to add two numbers will be either a full-adder or a half-adder. A full-adder can two numbers of any length, whereas a half-adder can only add together two single digits.

For example, a half-adder could perform the addition 1 + 0 = 1, or 1 + 1 = 10, but it would take a full-adder to be able to perform 1100101 + 100101.

In terms of implementation, we say a half-adder accepts two inputs (the two digits to be summed) and returns two outputs (the "sum bit" and the "carry bit"). To add 1 + 1, the two inputs would each be 1, the sum bit would be 0, and the carry bit would be 1.

A full-adder can be constructed by linking together multiple half-adders, with a slight modification: each half-adder must now accept, as an input, the carry bit from the previous half-adder in the chain. Each half-adder is responsible for adding one pair of corresponding digits from the two numbers to be added, and it must add to that the carry bit from the previous half-adder. The half-adder will output the resulting sum bit and carry bit, and the process will continue until all the digits have been added.

DNA as Logic Gates

Project Details

Inputs (stimuli and the genes used to detect them)

Output (observable change and what it represents)

Gene Diagram

Testing/Results

Mathematical Model

Measurements

Extensions

Full Adder

==Acknowledgements== (Sponsor logos)