answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
EleoNora [17]
2 years ago
8

Add the following 2's complement binary numbers. Also express the answer in decimal. a. 01+ 1011b. 11+ 01010101c. 0101+ 110d. 01

+10
Computers and Technology
1 answer:
kenny6666 [7]2 years ago
7 0

Answer:

(a) 01 + 1011

Convert the two numbers into their 4-bit representation.

=> 01 = 0001

=> 1011

Addition of the two numbers (in their 2's complement form) gives the following:

0 0 0 1       ------------------> + 1 (in decimal)

<u>1  0 1  1 </u>      ------------------> - 5 (in decimal)

<u>1  1  0 0 </u>    -------------------> - 4 (in decimal)

Explanation for (a)

<em>01 or 0001</em>

Since the most significant bit is 0 (leftmost bit), it shows that it is a positive number. Therefore, it can be directly converted to its decimal representation as follows:

0001 = 0 x 2^{3} + 0 x 2^{2} + 0 x 2^{1} + 1 x 2^{0} = 1

0001 is + 1 in decimal.

<em>1011</em>

Its most significant bit(MSB) is 1 showing that it is negative.

Flipping all its bits and adding 1 to the result, will convert it to it's positive counterpart.

i.e 1011 => 0100 + 1 = 0101.

Converting the result (0101) to decimal gives

0101 = 0 x 2^{3} + 1 x 2^{2} + 0 x 2^{1} + 1 x 2^{0} = 5

1011 is -5 in decimal

<em>01 + 1011 or 0001+ 1011 = 1100</em>

The result (1100), of the addition of the two numbers, is a negative number as the MSB is 1.

Convert it to it's positive counterpart.

i.e 1100 => 0011 + 1 = 0100.

Converting the result (0100) to decimal gives

0100 = 0 x 2^{3} + 1 x 2^{2} + 0 x 2^{1} + 0 x 2^{0} = 4

Therefore, the result, 1100 is -4 in decimal.

===================================================

(b) 11 + 01010101

Convert the two numbers into their 8-bit representation since one of them is in 8-bit.

PS: Taking 11, its MSB is 1 showing that it is a negative number. Also, it's 8-bit representation will mean pre-padding it with ones(1s) rather than zeros as follows. In other words, pre-padding a 2's complement  number is done using its sign bit.

=> 11 = 11111111

=> 01010101

Addition of the two numbers (in their 2's complement form) gives the following:

  1  1  1  1  1  1  1  1       ------------------> - 1 (in decimal)

<u>   0 1  0 1  0  1 0 1 </u>      ------------------> + 85 (in decimal)

<u>1 0 1  0 1  0  1 0 0</u>    ------------------->  + 84 (in decimal)

Discard the carry-out bit (1) making the result 01010100

Explanation for (b)

<em>11 or 11111111</em>

Its MSB is 1 showing that it is negative.

Convert it to it's positive counterpart.

11111111 => 00000000 + 1 = 00000001

Converting the result (00000001) to decimal gives 1

11 or 11111111 is  - 1 in decimal.

<em>01010101</em>

Its MSB is 0 showing that it is also positive. Now, convert to decimal

01010101 = 85

01010101 is + 85 in decimal.

<em>11111111 + 01010101 = 01010100</em>

The result (01010100), is also positive as the MSB is 0. Now, convert to decimal.

01010100 = 84

Therefore the result (01010100) is + 84 in decimal.

===================================================

(c) 0101 + 110

Convert the two numbers into their 4-bit representations.

=> 0101 = 0101

=> 110 = 1110

Addition of the two numbers (in their 2's complement form) gives the following:

     0 1 0 1       ------------------> + 5 (in decimal)

<u>      1  1 1  0 </u>      -----------------> - 2 (in decimal)

<u>   1 0 0 1  1 </u>    -------------------> + 3 (in decimal)

Dicard the carry-out bit (leftmost bit) to get 0011 as result.

Explanation for (c)

<em>0101</em>

Since the MSB is 0 (leftmost bit), it shows that it is a positive number. Now, convert to decimal.

0101 =  5

0101 is +5 in decimal.

<em>110 or 1110</em>

Its MSB is 1 showing that it is negative.

Convert it to it's positive counterpart.

i.e 1110 => 0001 + 1 = 0010.

Converting the result (0010) to decimal gives

0010 =  2

1110 is -2 in decimal

<em>0101 + 110 = 0101+ 1110 = 0011</em>

The result (0011), is a positive number as the MSB is 0.

Converting the result (0011) to decimal gives

0011 = 3

Therefore, the result, 0011 is 3 in decimal.

===================================================

(d) 01 + 10

Convert the two numbers into their 4-bit representation.

=> 01 = 0001

=> 10 = 1110

Addition of the two numbers (in their 2's complement form) gives the following:

0 0 0 1       ------------------> + 1 (in decimal)

<u>1  1  1  0 </u>      ------------------> - 2 (in decimal)

<u>1  1  1  1 </u>    -------------------> - 1 (in decimal)

Explanation for (d)

<em>01 or 0001</em>

Since the MSB is 0 (leftmost bit), it shows that it is a positive number. Now convert to decimal.

0001 = 1

0001 is + 1 in decimal.

<em>1110</em>

Its MSB is 1 showing that it is negative.

Convert it to it's positive counterpart.

i.e 1110 => 0001 + 1 = 0010.

Converting the result (0010) to decimal gives

0010  = 2

1110 is -2 in decimal

<em>01 + 1011 or 0001+ 1110 = 1111</em>

The result (1111), is a negative number as the MSB is 1.

Convert it to it's positive counterpart.

i.e 1111 => 0000 + 1 = 0001.

Converting the result (0001) to decimal gives

0001 = 1

Therefore, the result, 1111 is -1 in decimal.

You might be interested in
A summer camp offers a morning session and an afternoon session.
defon

Answer:

(A) IF (IsFound

(afternoonList, child))

{

APPEND (lunchList, child)

}

Hope this helps!

5 0
2 years ago
In three to four sentences, describe why CEOs (the chief executive officers, that is, the leaders of large companies) make very
mixer [17]
Well, CEOs are on the top of the food chain. It takes a lot of work and ambition to become one, and once they are one, <span>CEOs accept a huge amount of responsibility - that means having to take blame if things go wrong and </span><span>having more tasks to complete such as having to attend numerous meetings, make decisions. They are also on the board of directors.</span>

Assistants do not have to do as much, they likely won't have that much responsibility or experience, their tasks revolve around ensuring meetings are scheduled and performing other ad-hoc duties.
5 0
2 years ago
Write a function max_magnitude() with two integer input parameters that returns the largest magnitude value. Use the function in
JulsSmile [24]

Answer:

def max_magnitude(user_val1, user_val2):

if abs(user_val1) > abs(user_val2):

return user_val1

else:

return user_val2

if __name__ == '__main__':

n1 = int(input("Enter the first integer number: "))

n2 = int(input("Enter the second integer number: "))

print("The largest magnitude value of", n1, "and", n2, "is", max_magnitude(n1, n2))

Explanation:

5 0
2 years ago
Assume the availability of a function called printStars. The function receives an integer value as an argument. If the argument
In-s [12.5K]

Answer:

a i just did it

Explanation:

4 0
2 years ago
Given 4 integers, output their product and their average, using integer arithmetic.
solmaris [256]

Answer:

see explaination

Explanation:

Part 1:

import java.util.Scanner;

public class LabProgram {

public static void main(String[] args) {

Scanner scnr = new Scanner(System.in);

int num1;

int num2;

int num3;

int num4;

int avg=0, pro=1;

num1 = scnr.nextInt();

num2 = scnr.nextInt();

num3 = scnr.nextInt();

num4 = scnr.nextInt();

avg = (num1+num2+num3+num4)/4;

pro = num1*num2*num3*num4;

System.out.println(pro+" "+avg);

}

}

------------------------------------------------------------------

Part 2:

import java.util.Scanner;

public class LabProgram {

public static void main(String[] args) {

Scanner scnr = new Scanner(System.in);

int num1;

int num2;

int num3;

int num4;

double avg=0, pro=1; //using double to store floating point numbers.

num1 = scnr.nextInt();

num2 = scnr.nextInt();

num3 = scnr.nextInt();

num4 = scnr.nextInt();

avg = (num1+num2+num3+num4)/4.0; //if avg is declared as a float, then use 4.0f

pro = num1*num2*num3*num4;

System.out.println((int)pro+" "+(int)avg); //using type conversion only integer part

System.out.printf("%.3f %.3f\n",pro,avg);// \n is for newline

}

}

8 0
2 years ago
Other questions:
  • Write a method named quarterstodollars. the method should accept an int argument that is a number of quarters, and return the eq
    13·2 answers
  • Give at least one example computer application for which a connection-oriented service is appropriate and at least one example c
    12·1 answer
  • Jason is working on a web page that includes Q&amp;A interactions. Which option should Jason select to engage users in the inter
    9·2 answers
  • You complete your database, and the company begins using it. Shortly afterwards, two GearUp buyers, Cora and Owen, work together
    9·1 answer
  • Need 2.5 Code Practice Answers
    14·2 answers
  • Without using any additional variables, and without changing the values of ndays or the elements of the parkingTickets array, wr
    14·1 answer
  • A large software development company employs 100 computer programmers. Of them, 45 areproficient in Java, 30 in C, 20 in Python,
    9·1 answer
  • Discussion Question 10: A bank in California has 13 branches spread throughout northern California , each with its own minicompu
    13·1 answer
  • (choose one) Which is the proper means to decrement the integer variable, myScore, by one?
    15·1 answer
  • Connie works for a medium-sized manufacturing firm. She keeps the operating systems up-to-date, ensures that memory and disk sto
    7·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!