1answer.
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
tester [92]
4 years ago
13

The algorithm ADDN implements N-bit fixed-width binary addition for non-negative integers and ignores overflows. For example, AD

D4((1101)2,(1100)2) = (1001)2 because (1101)2 + (1100)2 = (11001)2 but the leading bit can’t fit in the 4-bit register. A standard way for computers to represent negative integers is the "two’s complement" method TN (x). Non-negative integers from 0 to 2N−1 − 1 are represented using ordinary fixed-width binary (e.g. T4(3) = (0011)2), and a negative integer n with −2 N−1 ≤ n is represented using the binary expansion of the (positive) integer 2N + n (e.g. T4(−3) = (1101)2 because 24 + (−3) = 13 = (1101)2). This representation allows us to use ADDN unchanged for both positive and negative integers! To partially prove this claim, show that if a and b are negative integers with −2 N−1 ≤ a + b, then ADDN (TN (a), TN (b)) = TN (a + b). (Hint: In what situation does ADDN (x, y) not equal x + y, and then what does it equal instead?)
Computers and Technology
1 answer:
WITCHER [35]4 years ago
7 0

Answer:

This statement is true if and only if both left most bit of both numbers after conversion in 2's complement are different.

Explanation:

If both numbers left most bit is different in 2's complement then no overflow occur and the results of the equation are same.

ADDN (TN (a), TN (b)) = TN (a + b)

This equation satisfies if and only if, 2's complement of both binary number contains left most bit different. If the left most bit of both numbers is same then after addition the bits will be overflowed and result of addition in decimal and then convert to 2's complement will not be equal and above mentioned equation will not be satisfied.

It means that if both numbers have same sign, then 2's complement of both bit have same bits, if we add those numbers in decimal and add by converting them in 2's complement and add them both have different answers.  

You might be interested in
Drivers dealing with strong emotions may take risks they otherwise would not. <br> true false
grigory [225]

This is true because some people may be going through rough times and when they aren't they probably won't feel the same way as they do when they go through tough times.

7 0
3 years ago
The intention of this problem is to analyze a user input word, and display the letter that it starts with (book → B).
yulyashka [42]

Answer:

Here is the C++ program:

#include<iostream>  // to use input output functions

using namespace std;     //to identify objects like cin cout

void StartChar(string str)  {  // function that takes a word string as parameter and returns the first letter of that word in capital

   int i;  

   char c;

   do  //start of do while loop

   {

   for (int i = 0; i < str.length(); i++) {  //iterates through each character of the word str

       if(str.length()>25){  //checks if the length of input word is greater than 25

           cout<<"limit exceeded"; }  //displays this message if a word is more than 25 characters long

      c = str.at(i);   // returns the character at position i

       if (! ( ( c >= 'a' && c <= 'z' ) || ( c >= 'A' && c <= 'Z' ) ) ) {  //checks if the input word is contains characters other than the alphabet

            cout<<str<<" is not a word!"<<endl; break;}  //displays this message if user enters characters other than the alphabet

        if (i == 0) {  //check the first character of the input word

           str[i]=toupper(str[i]);  //converts the first character of the input word to uppercase

           cout<<str<<" starts with letter "<<str[i]<<endl;  }  // prints the letter that the word starts with in capital letter

   }   cout<<"Enter a word: ";  //prompts user to enter a word

      cin>>str;   //reads input word from user

}while(str!="#");   }    //keeps prompting user to enter a word until the user enters #

int main()   //start of the main() function body

{ string str;  //declares a variable to hold a word

cout<<"Enter a word: "; //prompts user to enter a word

cin>>str; //reads input word from user

   StartChar(str); }  //calls function passing the word to it

     

Explanation:

The program prompts the user to enter a word and then calls StartChar(str) method by passing the word to the function.

The function StartChar() takes that word string as argument.

do while loop starts. The for loop inside do while loop iterates through each character of the word string.

First if condition checks if the length of the input word is greater than 25 using length() method which returns the length of the str. For example user inputs "aaaaaaaaaaaaaaaaaaaaaaaaaaa". Then the message limit exceeded is printed on the screen if this if condition evaluates to true.

second if condition checks if the user enters anything except the alphabet character to form a  word. For example user $500. If this condition evaluates to true then the message $500 is not a word! is printed on the screen.

Third if condition checks if the first character of input word, convert that character to capital using toupper() method and prints the first letter of the str word in capital. For example if input word is "Computer" then this prints the message: Computer starts with the letter C in the output screen.

The program keeps prompting the user to enter the word until the user enters a hash # to end the program.

The output of the program is attached.

3 0
3 years ago
Write a function that returns a chessboard pattern ("B" for black squares, "W" for white squares). The function takes a number N
Kryger [21]

Answer:

Here is the C++ program.

#include <iostream>  //to use input output functions

using namespace std;  // to access objects like cin cout

 

void chessboard(int N){  // function that takes a number N as parameter generates corresponding board

   int i, j;  

   string black = "B";  // B for black squares

   string white = "W"; // W for white squares

   for(i=1;i<=N;i++){  //iterates through each column of the board

       for(j=1;j<=N;j++){  //iterates through each row of the board

           if((i+j)%2==0)  // if sum of i and j is completely divisible by 2

               cout<<black<<" ";  //displays B when above if condition is true

           else  //if (i+j)%2 is not equal to 0

           cout<<white<<" ";  }  // displays W when above if condition is false

      cout<<endl;    }    }  //prints the new line

       

int main(){    //start of the main function

   int num;  //declares an integer num

   cout << "Enter an integer representing the size of the chessboard: ";  //prompts user to enter size of chess board

   cin >> num;  //reads value of num from user

   chessboard(num); } //calls chessboard function to display N lines consist of N space-separated characters representing the chessboard pattern

Explanation:

The function works as follows:

Lets say that N = 2

two string variables black and white are declared. The value of black is set to "B" and value of white is set to "W" to return a chessboard pattern in B and W squares.

The outer loop for(i=1;i<=N;i++) iterates through each column of the chess board. The inner loop  for(j=1;j<=N;j++) iterates through each row of chess board.

At first iteration of outer loop:

N = 2

outer loop:

i=1

i<=N is true because i=1 and 1<=2

So the program enters the body of the outer for loop. It has an inner for loop:

for(j=1;j<=N;j++)

At first iteration of inner loop:

j = 1

j<=N is true because j=1 and 1<=2

So the program enters the body of the inner for loop. It has an if statement:

if((i+j)%2==0) this statement works as:

if(1+1) % 2 == 0

(1+1 )% 2 takes the mod of 1+1 with 2 which gives the remainder of the division.

2%2 As 2 is completely divisible by 2 so 2%2 == 0

Hence the if condition evaluates to true. So the statement in if part executes:

cout<<black<<" ";

This prints B on the output screen with a space.

B

The value of j is incremented to 1.

j = 2

At second iteration of inner loop:

j = 2

j<=N is true because j=2 and 2=2

So the program enters the body of the inner for loop. It has an if statement:

if((i+j)%2==0) this statement works as:

if(1+2) % 2 == 0

(1+2 )% 2 takes the mod of 1+2 with 2 which gives the remainder of the division.

3%2 As 3 is not completely divisible by 2

Hence the if condition evaluates to false. So the statement in else part executes:

cout<<white<<" ";

This prints W on the output screen with a space.

B W

The value of j is incremented to 1.

j = 3

Now  

j<=N is false because j=3 and 3>2

So the loop breaks and program moves to the outer loop to iterate through the next row.

At second iteration of outer loop:

N = 2

outer loop:

i=2

i<=N is true because i=2 and 2 = 2

So the program enters the body of the outer for loop. It has an inner for loop:

for(j=1;j<=N;j++)

At first iteration of inner loop:

j = 1

j<=N is true because j=1 and 1<=2

So the program enters the body of the inner for loop. It has an if statement:

if((i+j)%2==0) this statement works as:

if(2+1) % 2 == 0

(2+1 )% 2 takes the mod of 2+1 with 2 which gives the remainder of the division.

3%2 As 3 is not completely divisible by 2

Hence the if condition evaluates to false. So the statement in else part executes:

cout<<white<<" ";

This prints W on the output screen with a space.

B W

W

The value of j is incremented to 1.

j = 2

At second iteration of inner loop:

j = 2

j<=N is true because j=2 and 2=2

So the program enters the body of the inner for loop. It has an if statement:

if((i+j)%2==0) this statement works as:

if(2+2) % 2 == 0

(2+2 )% 2 takes the mod of 2+2 with 2 which gives the remainder of the division.

4%2 As 4 is completely divisible by 2 so 4%2 == 0

Hence the if condition evaluates to false. So the statement in if part executes:

cout<<black<<" ";

This prints B on the output screen with a space.

B W

W B

The value of j is incremented to 1.

j = 3

Now  

j<=N is false because j=3 and 3>2

So the loop breaks and program moves to the outer loop. The value of outer loop variable i is incremented to 1 so i = 3

N = 2

outer loop:

i=3

i<=N is false because i=3 and 3>2

So this outer loop ends.

Now the output of this program is:

B W

W B

Screenshot of this program along with its output is attached.

8 0
3 years ago
How does a paper prototype minimize constraints when compared to a digital one
aksik [14]

A regular prototype minimizes constraints if compared to a paper one because possible problems in use can be identified easily.

<h3>What is a prototype?</h3>

This refers to the initial model of a product designed to test the features of the model before it is released to the market.

<h3>What are the differences between digital and paper prototypes?</h3>

Online protoypes are often time-saving, however, because some features of the prototype cannot be tested, a regular protoype is much better to identify possible problems in design or use.

Learn more about prototipes in: brainly.com/question/4622383

#SPJ1

6 0
2 years ago
Eric is adding three more slides to his PowerPoint presentation. He knows he wants one of them to have only a large text box, th
marissa [1.9K]

The buttons depend on what version of MS Office he is using. Assuming Eric is using Powerpoint 2013, he must press the following: 

1st Slide: Insert > New Slide > Title Only

2nd Slide: Insert > New Slide > Comparison > Click on "Pictures" icon > Browse > Click selected picture > Insert > Delete text box saying "Click to add title" > Insert another picture using same procedures above > Add captions

3rd slide: Insert > New Slide > Two Content > <span>Click on "Picture" icon > Browse > Click selected picture > Insert 3 more pictures > Click textbox "Click to add title" </span>

3 0
3 years ago
Other questions:
  • After configuring a static IP address on a desktop computer, the technician finds that he cannot communicate with other devices
    10·1 answer
  • What is a break in the content that forces takes on to the next line
    10·2 answers
  • What is a method whereby new problems are solved based on the solutions from similar cases solved in the past?
    9·1 answer
  • A ___________ organizes related commands together, under a tab.
    15·1 answer
  • WILL UPVOTE &lt;3
    9·1 answer
  • A microsoft windows os component responsible for representing graphical objects and transmitting them to output devices such as
    15·1 answer
  • In cell B13, create a formula without a function using absolute references that subtracts the values of cells B5 and
    13·1 answer
  • This method adds newValue to the list at the specified index. If the index is invalid for the list, throw an IndexOutOfBoundsExc
    13·1 answer
  • Write a program that first gets a list of integers from input. The input begins with an integer indicating the number of integer
    6·1 answer
  • For any element in keysList with a value smaller than 40, print the corresponding value in itemsList, followed by a comma (no sp
    6·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!