You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

16 lines
415 B

  1. #include "addition.h"
  2. #include <stdlib.h>
  3. void full_adder (int* sum, int* nextcarry, int number1, int number2, int carry) {
  4. sum[0] = number1 ^ number2 ^ carry;
  5. nextcarry[0] = (number1 & number2) | (number1 & carry) | (number2 & carry);
  6. }
  7. unsigned int addition(unsigned int a, unsigned int b) {
  8. int s[1];
  9. int nc[1] = {0};
  10. full_adder(s, nc, a, b, 0);
  11. return (unsigned int) s[0];
  12. }