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
Write multiple if statements: If carYear is before 1968, print "Probably has few safety features." (without quotes). If after 19
jekas [21]

Answer:

Following is the statement in the C language :

if(carYear < 1968)

printf("\nProbably has a few safety features.\n");

if(carYear > 1970 && carYear <=1991 )

printf("\nProbably has head rests.\n");

if(carYear > 1991 && carYear <=2002)

printf("\nProbably has anti-lock brakes\n.");

if(carYear > 2002)

printf("\nProbably has airbags.\n");

Explanation:

Following is the description of the statement:

  • In the given question we used if block. The if block is only executed when their condition is true.
  • if(carYear < 1968) In this we check we the value of "carYear" variable is less then 1968 then it prints "Probably has a few safety features." in the console window.
  • if(carYear > 1970 && carYear <=1991) In this we check we the value of "carYear" variable is greater then 1970 and less then 1992 it prints "Probably has head rests" in the console window.
  • if(carYear > 1991 && carYear <=2002 ) In this we check we the value of "carYear" variable is greater then 1991 and less then 2003 it prints "Probably has anti-lock brakes" in the console window.
  • if(carYear > 2002) In this we check we the value of "carYear" variable is greater then 2002 then it prints "Probably has airbags" in the console window.

6 0
2 years ago
Early Intel processors (e.g., the 8086) did not provide hardware support for dual-mode operation (i.e., support for a separate u
Firlakuza [10]

Answer:

Uneven use of resources

Explanation:

Potential problem associated with supporting multi - user operation without hardware support is:

Uneven use of resources: In a situation where we assign a set of resources to user 1 and if a new user comes, then it would be difficult to allocate new resources to him. The processor would get confused between the two users. And the tasks would not be completed. This can affect task processing.

8 0
1 year ago
Your computer has gradually slowed down. What's the most likely reason?
sweet-ann [11.9K]
It could be old ... could be your connection to the internet... could be a virus. You can go to walmart or your super store and buy a usb for your computer. There are ones that can speed up your computer. I had to buy it for mine and it worked. It might be over 20 dollars depends on where you go.
8 0
2 years ago
Two middle-order batsmen are compared based on their performance in their previous cricket match.
Zolol [24]
How many points is this for
5 0
2 years ago
Write a program FindDuplicate.java that reads n integer arguments from the command line into an integer array of length n, where
kozerog [31]

Answer:

  1. public class FindDuplicate{
  2.    public static void main(String[] args) {
  3.        Scanner input = new Scanner(System.in);
  4.        int n = 5;
  5.        int arr[] = new int[n];
  6.        for(int i=0; i < arr.length; i++){
  7.            int inputNum = input.nextInt();
  8.            if(inputNum >=1 && inputNum <=n) {
  9.                arr[i] = inputNum;
  10.            }
  11.        }
  12.        for(int j =0; j < arr.length; j++){
  13.            for(int k = 0; k < arr.length; k++){
  14.                if(j == k){
  15.                    continue;
  16.                }else{
  17.                    if(arr[j] == arr[k]){
  18.                        System.out.println("True");
  19.                        return;
  20.                    }
  21.                }
  22.            }
  23.        }
  24.        System.out.println("False");
  25.    }
  26. }

Explanation:

Firstly, create a Scanner object to get user input (Line 4).

Next, create an array with n-size (Line 7) and then create a for-loop to get user repeatedly enter an integer and assign the input value to the array (Line 9 - 14).

Next, create a double layer for-loop to check the each element in the array against the other elements to see if there is any duplication detected and display "True" (Line 21 - 22). If duplication is found the program will display True and terminate the whole program using return (Line 23). The condition set in Line 18 is to ensure the comparison is not between the same element.

If all the elements in the array are unique the if block (Line 21 - 23) won't run and it will proceed to Line 28 to display message "False".

7 0
1 year ago
Other questions:
  • The Spinning Jenny reduced the number of workers necessary to _______. a.remove cotton seeds from fibers b.pump water from the m
    7·1 answer
  • Two technicians are discussing lung protection in the shop. Technician A says that respiratory-protection devices can prevent yo
    5·2 answers
  • If you have long column labels with columns so wide that they affect the readability of a worksheet, you should first
    7·1 answer
  • Which Android application is used exclusively for sharing video content?
    12·2 answers
  • Which feature of Badoo helped members make their profile more prominent?
    14·1 answer
  • In this exercise, you will create a couple of helper methods for ArrayLists in a class called ArrayListMethods.
    10·1 answer
  • Alex is nearing graduation. His counselor showed him this information. Alex's College Costs &amp; Payment Options per Year Costs
    5·2 answers
  • A Color class has a method getColorName that returns a string corresponding to the common name for the color, e.g., yellow, blue
    11·1 answer
  • #Write a function called fancy_find. fancy_find should have #two parameters: search_within and search_for. # #fancy_find should
    9·1 answer
  • Exercise 4: Bring in program grades.cpp and grades.txt from the Lab 10 folder. Fill in the code in bold so that the data is prop
    12·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!