Below is the code in Java to add 2 binary Numbers: Both the codes execute,  Could someone explain which code is much efficient and the differences between both codes,  By testing with different inputs.       public void add(BinaryNumber aBinaryNumber) {   Code 1: if(getLength() != aBinaryNumber.getLength()) {    System.out.println("Lengths of numbers to be added is different. "); } else {    int carry = 0;    for(int i = 0; i < data.length; i++) {       int z = carry + getDigit(i) + aBinaryNumber.getDigit(i);       if(z >= 10) {          z = z - 10;          carry = 1;       }       else {          carry = 0;       }       data[i] = z;    }    if(carry != 0) {       overFlow = true;    } }   Code 2:       int data1[] = new int[aBinaryNumber.getLength()];       data1 = aBinaryNumber.getBinary();       int carry = 0;       if(data.length == data1.length) {           for(int i=0; i

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

Below is the code in Java to add 2 binary Numbers:

Both the codes execute, 

Could someone explain which code is much efficient and the differences between both codes, 

By testing with different inputs.

 

 

 

public void add(BinaryNumber aBinaryNumber) {
 

Code 1:
if(getLength() != aBinaryNumber.getLength()) {

   System.out.println("Lengths of numbers to be added is different. ");
}
else {
   int carry = 0;

   for(int i = 0; i < data.length; i++) {
      int z = carry + getDigit(i) + aBinaryNumber.getDigit(i);

      if(z >= 10) {
         z = z - 10;
         carry = 1;
      }
      else {
         carry = 0;
      }
      data[i] = z;
   }

   if(carry != 0) {
      overFlow = true;
   }
}
 

Code 2:
      int data1[] = new int[aBinaryNumber.getLength()];
      data1 = aBinaryNumber.getBinary();
      int carry = 0;
      if(data.length == data1.length) {
          for(int i=0; i<data.length; i++) {
              int t = (carry + data[i] + data1[i]);
              if(t == 0) {
                  data[i] = 0;
                  carry = 0;
              } else if(t == 1) {
                  data[i] = 1;
                  carry = 0;
              } else if(t == 2) {
                  data[i] = 0;
                  carry = 1;
              } else if(t == 3) {
                  data[i] = 1;
                  carry = 1;
              }
          }
          if(carry == 1) {
              overflow = true;
          }
      }
      else {
          System.out.println("The lengths of the binary numbers do not match.");
      }
  }

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY