1. For this assignment you will print the steps for 8-bit by 8-bit multiplication.
2. Your program should read in two unsigned numbers from stdin, the first being the multiplicand and the second being the multiplier. Your program should verify that both values are within the range 0 to 255. If not, the program should print an appropriate error message and exit.
3. Your program should then initialize the simulated registers and echo the input values in decimal and also in binary.
4. Then your program should illustrate the eight steps required for multiplication using the same type of step diagrams as given in the lecture notes.
5. Finally, your program should print a check section that shows a summary of the multiplication in binary as well as in decimal. See the example below.
6. You may write your program in C, C++, or Java. If you choose to work in C, here is an example function that will allow you to represent an n-bit value within an int data type and print out the binary value in "length" bits. It uses the shift right operator and the bitwise and. (You can also choose to use unsigned int as the data type; since you are using only the lower 8 of the 32 bits in an int, there will be no apparent difference between using int and using unsigned int. However, if you choose to use char as the data type, you should use unsigned char to ensure that the compiler generates logical rather than arithmetic shifts.)
void prt_bin( int value, int length ){
int i;
for( i=(length-1); i>=0; i--){
if((value>>i)&1)
putchar('1');
else
putchar('0');
}
}
For example, if you declare acc as an int, then you could call prt_bin(acc,8) to print the 8-bit value in the accumulator.
You should format your output to exactly match the output below. 10% of the grade will be awarded for following the same format.
Sample Run is given below:
multiplicand: 33
multiplier: 55
c and acc set to 0
mq set to multiplier = 55 decimal and 00110111 binary
mdr set to multiplicand = 33 decimal and 00100001 binary
---------------------------------------------------
step 1: 0 00000000 00110111
+ 00100001 ^ add based on lsb=1
----------
0 00100001 00110111
>> shift right
0 00010000 10011011
---------------------------------------------------
step 2: 0 00010000 10011011
+ 00100001 ^ add based on lsb=1
----------
0 00110001 10011011
>> shift right
0 00011000 11001101
---------------------------------------------------
step 3: 0 00011000 11001101
+ 00100001 ^ add based on lsb=1
----------
0 00111001 11001101
>> shift right
0 00011100 11100110
---------------------------------------------------
step 4: 0 00011100 11100110
+ 00000000 ^ no add based on lsb=0
----------
0 00011100 11100110
>> shift right
0 00001110 01110011
---------------------------------------------------
step 5: 0 00001110 01110011
+ 00100001 ^ add based on lsb=1
----------
0 00101111 01110011
>> shift right
0 00010111 10111001
---------------------------------------------------
step 6: 0 00010111 10111001
+ 00100001 ^ add based on lsb=1
----------
0 00111000 10111001
>> shift right
0 00011100 01011100
---------------------------------------------------
step 7: 0 00011100 01011100
+ 00000000 ^ no add based on lsb=0
----------
0 00011100 01011100
>> shift right
0 00001110 00101110
---------------------------------------------------
step 8: 0 00001110 00101110
+ 00000000 ^ no add based on lsb=0
----------
0 00001110 00101110
>> shift right
0 00000111 00010111
---------------------------------------------------
check: binary decimal
00100001 33
x 00110111 x 55
---------------- ------
0000011100010111 1815

Answers

Answer 1

Answer:

Code:

#include<bits/stdc++.h>

using namespace std;  

char* prt_bin( int value, int length, char s[]){

   for(int i=(length-1); i>=0; i--){

     if((value>>i)&1) {

       s[length-1-i] = '1';  

       // putchar('1');

     }

     else {

       s[length-1-i] = '0';  

       // putchar('0');

     }

   }

   s[length] = '\0';

   return s;

}  

int main(){

     int nbits = 8, c, acc;

     char s[nbits+1];

    int multiplicand, multiplier, mq, mdr;  

   cout<<"Multiplicand: ";

   cin>>multiplicand;

   cout<<"Multiplier: ";

   cin>>multiplier;

 

    if(multiplier<0 || multiplier>255 ||multiplicand<0 || multiplicand>255){

    cout<<"Given Multiplicand or multiplier is incorrect. Exiting the program.\n";

       return 0;

   }  

   c = 0; acc = 0;

      cout<<"c and acc set to 0\n";

   mq = multiplier;

   mdr = multiplicand;

   cout<<"mq set to multiplier = "<<multiplier<<" decimal and "<<prt_bin(multiplier, nbits, s)<<" binary\n";

   cout<<"mdr set to multiplicand = "<<multiplicand<<" decimal and "<<prt_bin(multiplicand, nbits, s)<<" binary\n";

   

   printf("---------------------------------------------------\n");

    for(int i=1;i<=nbits;i++){

       printf("step %d: %d %s ",i, c, prt_bin(acc, nbits, s));

       printf("%s\n",prt_bin(mq, nbits, s));

       char lsb = s[nbits-1];  

       if(lsb=='1'){  

           printf("     + %c %s    ^add based on lsb=%c\n", c, prt_bin(mdr, nbits, s), lsb);

           printf("      ----------\n");

           acc = acc + multiplicand;

       }  

       else{

           printf("     + %c %s    ^no add based on lsb=%c\n", c, prt_bin(0, nbits, s), lsb);

           printf("      ----------\n");

       }  

       printf("      %d %s ", c, prt_bin(acc, nbits, s));

       printf("%s\n",prt_bin(mq, nbits, s));  

       printf("     >>          shift right\n");  

       mq = mq>>1;  

       if(acc%2==1){

           mq = mq+128;

       }  

       acc = acc>>1;  

       printf("      %d %s ", c, prt_bin(acc, nbits, s));

       printf("%s\n",prt_bin(mq, nbits, s));  

       printf("---------------------------------------------------\n");

   }  

   char sr[nbits*2+1];  

   printf("check:              binary   decimal\n");

   printf("                 %s        %d\n", prt_bin(multiplicand, nbits, s), multiplicand);

   printf("       x         %s  x     %d\n", prt_bin(multiplier, nbits, s), multiplier);

   printf("          ----------------    ------\n");

   printf("          %s      %d\n", prt_bin(multiplier*multiplicand, nbits*2, sr), multiplier*multiplicand);

   return 0;

}


Related Questions

(1)similarities between backspace key and delete key. (2) different between backspace key and delete key. (3) explain the term ergonomics. (4) explain the following. a click b right click double click d triple click e drag and drop.​

Answers

Answer:

ddhejaajegxhzi

Explanation:

jfrhsjadigugud

WHAT IS ONE WAY A PIVOTTABLE COULD COMBINE THE FOLLOWING DATA

Answers

Answer: You sort table data with commands that are displayed when you click a header arrow button. Hope it help's :D


Calculator is an example of
computer
A. analogue
B. hybrid
C. manual
D. digital
E. public​

Answers

D. digital

Explanation:

I hope it helps you

What values are in the vector named pressures after the following code is executed? vector pressures; pressures.push_back(32.4); pressures.push_back(33.5); pressures.insert(pressures.begin(), 34.2); int index = 2; pressures.insert(pressures.begin() + index, 31.8); pressures.push_back(33.3); index = 1; pressures.erase(pressures.begin() + index); a. 34.2, 31.8, 33.3 b. 34.2, 33.5, 31.8, 33.3 c. 34.2, 33.5, 33.3 d. 34.2, 31.8, 33.5, 33.3

Answers

Answer:

Hence the correct option is A that is "34.2 31.8 33.5 33.3".

Explanation:  

Program:-  

#include <iostream>

#include<vector>  

using namespace std;  

int main()

{

int count =0;

vector<double> pressures;

pressures.push_back(32.4);

pressures.push_back(33.5);

pressures.insert(pressures.begin(), 34.2);

int index = 2;

pressures.insert(pressures.begin() + index, 31.8);

pressures.push_back(33.3);

index = 1;

pressures.erase(pressures.begin() + index);

for (auto it = pressures.begin(); it != pressures.end(); ++it)

cout << ' ' << *it;

return 0;

}

explain the working principle of computer? can anyone tell​

Answers

Answer:

input process and output hehe

3. Write a program that prompts the user to input an integer that represents cents. The program will then calculate the smallest combination of coins that the user has. For example, 27 cents is 1 quarter, 0 nickle, and 2 pennies. That is 27=1*25+0*5+2*1.

Answers

Answer:

The program in Python is as follows:

cents = int(input("Cents: "))

qtr = int(cents/25)

cents = cents -qtr * 25

nkl = int(cents/5)

pny = cents -nkl * 5

print(qtr,"quarters,",nkl,"nickels,",pny,"pennies")

Explanation:

This gets input for cents

cents = int(input("Cents: "))

This calculates the quarters in cents

qtr = int(cents/25)

This gets the remaining cents

cents = cents -qtr * 25

This calculates the nickel in remaining cents

nkl = int(cents/5)

This calculates the pennies in remaining cents

pny = cents -nkl * 5

This prints the required output

print(qtr,"quarters,",nkl,"nickels,",pny,"pennies")

please give me correct answer

please give me very short answer​

Answers

Answer:

1.A table is a range of data that is defined and named in a particular way.

2.Table tools and layout

3.In insert tab Select the table and select the number of rows and colums

4.Split cell is use to split the data of a cell.Merge cell is used to combine a row or column of cells.

5.Select the cell and click down arrow next to the border button.

You are going to purchase (2) items from an online store.
If you spend $100 or more, you will get a 10% discount on your total purchase.
If you spend between $50 and $100, you will get a 5% discount on your total purchase.
If you spend less than $50, you will get no discount.
Givens:
Cost of First Item (in $)
Cost of Second Item (in $)
Result To Print Out:
"Your total purchase is $X." or "Your total purchase is $X, which includes your X% discount."

Answers

Answer:

Code:-

using System;

using System.Collections.Generic;

class MainClass {

public static void Main (string[] args) {

int Val1,Val2,total;

string input;

double overall;

Console.Write("Cost of First Item (in $)");

      input = Console.ReadLine();

Val1 = Convert.ToInt32(input);

Console.Write("Cost of Second Item (in $)");

      input = Console.ReadLine();

Val2 = Convert.ToInt32(input);

total=Val1+Val2;

if (total >= 100)

{

overall=.9*total;

Console.WriteLine("Your total purchase is $"+overall);

}

else if (total >= 50 & total < 100)

{

overall=.95*total;

Console.WriteLine("Your total purchase is $"+overall);

}  

else

{

Console.WriteLine("Your total purchase is $"+total);

}  

}

}

Output:

11111 Power 2 sovle ​

Answers

123,454,321. you just multiply 11111 by itself

Why is it useful for students to practice the MLA and APA citation methods?

Answers

Answer:

Citing or documenting the sources used in your research serves three purposes:

It gives proper credit to the authors of the words or ideas that you incorporated into your paper.

It allows those who are reading your work to locate your sources, in order to learn more about the ideas that you include in your paper.

Over-activity on LinkedIn?

Answers

Answer:

Being over-enthusiastic and crossing the line always get you in trouble even if you’re using the best LinkedIn automation tool in the world.  

When you try to hit the jackpot over the night and send thousands of connection requests in 24 hours, LinkedIn will know you’re using bots or tools and they will block you, temporarily or permanently.    

This is clearly against the rules of LinkedIn. It cracks down against all spammers because spamming is a big ‘NO’ on LinkedIn.    

What people do is that they send thousands of connection requests and that too with the same old spammy templates, “I see we have many common connections, I’d like to add you to my network.”    

It will only create spam.    

The LinkedIn algorithm is very advanced and it can easily detect that you’re using a bot or LinkedIn automation tool and you’ll be called out on it.

25. Các phát biểu nào sau, phát biểu nào là đúng:
- tên file không được chứa khoảng trắng
- tên file không nên có dấu tiếng viết
- tên file được dài trên 255 ký tự
- tên file được chấp nhận ký tự khác

Answers


-tên file được chấp nhận ký tự khác

give one advantage of saving file in the same folder

Answers

Answer:

it's easier to find

Explanation:

things are much more organized

So you don’t have to go through many files

Neymar machine that Run on electricity

Answers

"Neymar" = "name a"?

if so, well, there are many, like the little glowing box you use the type questions to the brainliest community, let it be a phone, a pc, or a molded Nintendo

if you meant Neymar indeed, I'm not sure if he runs on electricity, unless he is a soccer playing android somehow.

5. A student wants to send a picture to the printer, how should they
send it?
a. 0,99,0
b. -65, 10, 5,0
c. 115, 118,0
d. #584504

Answers

Answer:

d

Explanation:

Question No: 9 Of 50 Time Left : 59:18
ОА
QUESTION
Which of the following two entities (reading from Left to right) can be connected by the dot operator?
A class member and a class object.
A class object and a class,
A constructor and a member of that class.
OB
Ос
OD
A class object and a member of that class.

Answers

Answer:b

Explanation:

to get points

Select the correct statement(s) regarding IP addressing.
a. IPv4 and IPv6 addressing is fully compatible with one another.
b. CIDR address format represents a Class C network only used within an intranet.
c. Subnet masks are used with both class and classless IP addresses.
d. all statements are correct.

Answers

Yeah the answer is b

Subnet masks are used with both class and classless IP addresses is the correct statement. Therefore, the correct option is C.

What is an IP address?

A device on the internet or a local network may be identified by its IP address, which is a special address. The rules defining the format of data delivered over the internet or a local network are known as “Internet Protocol,” or IP.

Only C is correct, rest other statements are incorrect because:

a. IPv4 and IPv6 addressing is fully compatible with one another is incorrect. While IPv4 and IPv6 can coexist on the same network, they are not fully compatible with one another.

b. CIDR address format represents a Class C network only used within an intranet is incorrect. Classless Inter-Domain Routing (CIDR) is a technique used to allocate IP addresses more efficiently.

Therefore, subnet masks are used with both class and classless IP addresses is the correct statement. Therefore, the correct option is C.

Learn more about,  here

https://brainly.com/question/3805118

#SPJ6

What can be used to store data, plant viruses, or steal data?

Answers

Answer:

ITS A SIMPLE ANSWER BUT THE PROBLEM IS TOO BIG!

Explanation:

The phishing email might contain a link which on clicking will take you to a fake web page. For example, the link might take you to a fake bank website which looks very legitimate but in reality is just a lookalike. If the victim falls for the scam and enters his/her account details on the website, the details will actually go to the hacker's server instead of going to the bank and the hacker will have all the information that the victim has provided on the website.

how many dog breed are there

Answers

Answer:

360 officially recognized breeds (would appreciate if given brainliest) <3

The usa recognizes 160 breeds while 360 are recognized worldwide

The internet's data pathways rely on what kind of hardware device to route data to its destination?
servers

routers

IP addresses

ISPs

Answers

Answer:

Routers

Explanation:

Essentially a router is a device used in networking that route packets of data from one computer network to another.

Answer:

routers

Explanation:

Routers are hardware devices that route the data from place to place. Data "hops" from one router to another until it reaches its destination. ISPs and IP addresses are not hardware devices. Servers are hardware devices but do not route data.

-Edge 2022

Give examples of applications that access files by each of the following methods:
+ Sequentially.
+ Random.

Answers

Answer:

Explanation:

Usually, applications would have the capability of using either one of these options. But for the sake of the question here are some that usually prefer one method over the other.

Any program that targets an API usually uses Sequential access. This is because API's contain all of the data as objects. Therefore, you need to access that object and sequentially navigate that object to the desired information in order to access the data required.

A music application would have access to an entire folder of music. If the user chooses to set the application to randomly play music from that folder, then the application will use a Random Access method to randomly choose the music file to load every time that a song finishes.

g A catch block that expects an integer argument will catch Group of answer choices all exceptions all integer exceptions any exception value that can be coerced into an integer C

Answers

Answer:

Hence the correct option is 2nd option. all integer exceptions.

Explanation:

A catch block that expects an integer argument will catch all integer exceptions.

Code Example 9-1 struct Product { string name; double price; int quantity; }; (Refer to Code Example 9-1.) Given a Product object named product, which of the following statements would you use to display the value of the name data member on the console? a. cout << product::name; b. cout << product.name; c. cout << product("name"); d. cout << product[0];

Answers

Answer:

a. cout << Product ::name;

Explanation:

Computer software use different languages which helps user to initiate command. When a user initiates command the results are displayed according to input command. If product name is required as output then insert command should be product::name; this will display names of different products present in the system.

discribe two ways you can zoom in and out from an image

Answers

How to zoom in: u get any two of ur fingers and instead of going inward like ur tryna pop a zit, you go out

How to zoom out: pretend like ur popping pimples on ur phone/device screen

The SEI/CERT website is full of best-practices for developing secure code for various popular programming languages. Select a software threat/vulnerability of your choice and idenitfy two secure coding practices to mitigate that threat/vulnerability. You may choose any programming language you wish.

Answers

Answer:  

Input-Output rule:  

char *file_name:

FILE *f+ptr;  

f_ptr = fopen(file_name, "w");

if(f_ptr == NULL){

}  

if(fclose(f_ptr)!=0){

}  

if(remove(file_name) !=0){

}  

Expression:  

void set_fl(int num ,int *s_fl){

if(NULL == s_fl){

return;

}  

if(num>0){

*s_fl =1;

}

else if(num <0) {

*s_fl = -1;

}

}  

int is_negative(int num) {

int s;

set_fl(num , &s);

return s<0;

Explanation:  

Computer Emergency Response Team(CERT) has found most vulnerabilities discovered in applications stem from a comparatively small number of common programming errors that developers repeatedly make. The CERT secure coding initiative is functioning to determine secure coding standards for commonly used programming languages and to advance the practice of secure coding.

There are many security coding practices:  

SEI CERT C coding standard:  

The C rules and proposals are a piece ongoing and reflect the present thinking of the secure coding community. As rules and proposals mature, they're published in report or book form as official releases.

Write a program get_price.py with a function get_price() that takes a dictionary of fruits as an argument and returns the name of the most expensive fruit. Each item of the dictionary includes: A key: the name of the fruit A value: the price of the fruit.

Answers

Answer:

The program is as follows:

def get_price(fruits):

   AllPrice = fruits.values()

   value_iterator = iter(AllPrice)

   mostExpensive = next(value_iterator)  

   for item in fruits:

       if fruits[item]>=mostExpensive:

           mostExpensive = fruits[item]

           fruitName = item

   print(fruitName)

fruits = {}

n = int(input("Number of Fruits: "))

for i in range(n):

   name = input("Fruit name: ")

   price = int(input("Fruit price: "))

   fruits[name] = price

get_price(fruits)

Explanation:

This defines the get_price function

def get_price(fruits):

This gets all price in the dictionary fruit

   AllPrice = fruits.values()

This passes the values to a value iterator

   value_iterator = iter(AllPrice)

This initializes mostExpensive to the first price in the dictionary

   mostExpensive = next(value_iterator)

This iterates through the elements of the dictionary  

   for item in fruits:

If current element is greater than or equals most expensive

       if fruits[item]>=mostExpensive:

Set most expensive to the current element

           mostExpensive = fruits[item]

Get the corresponding fruit name

           fruitName = item

Print fruit name

   print(fruitName)

The main begins here

This initializes the fruit dictionary

fruits = {}

This gets input for the number of fruits

n = int(input("Number of Fruits: "))

This is repeated for every inputs

for i in range(n):

Get fruit name

   name = input("Fruit name: ")

Get fruit price

   price = int(input("Fruit price: "))

Append name and price to dictionary

   fruits[name] = price

Call the get_price function

get_price(fruits)

Peter is a new business owner. Because Peter is on a strict budget, he uses an older Novell NetWare server. The NetWare server still relies on the legacy IPX/SPX network protocol suite. Peter needs to connect his server to the Internet. He decides to use a gateway instead of a router. What is the likely motive behind Peter's decision

Answers

The most likely motive of Peter's decision to use a gateway for connecting his serve to the internet is to get a wireless connection for the internet.

A gateway server is used to communicate to the internet service provider. It is used to receives the data. It helps to sends the data to the router in order to translate as well as distribute the wireless devices.

In the context, Peter who is on a strict budget uses gateway system to connect to the internet and he uses the older version of Novell NetWare server.

Learn More :

https://brainly.in/question/35731153

hi, please help me.solution.​

Answers

Answer:

aahdbdnsjajaissjdjdhskakwjdhbebs

PartnerServer is a Windows Server 2012 server that holds the primary copy of the PartnerNet.org domain. The server is in a demilitarized zone (DMZ) and provides name resolution for the domain for Internet hosts.
i. True
ii. False

Answers

Answer:

i. True

Explanation:

A Domain Name System (DNS) can be defined as a naming database in which internet domain names (website URLs) are stored and translated into their respective internet protocol (IP) address.

This ultimately implies that, a DNS is used to connect uniform resource locator (URL) or web address with their internet protocol (IP) address.

Windows Server 2012 is a Microsoft Windows Server operating system and it was released to the general public on the 4th of September, 2012, as the sixth version of the Windows Server operating system and the Windows NT family.

PartnerServer is a Windows Server 2012 server that was designed and developed to hold the primary copy of the PartnerNet dot org domain.

Typically, the server is configured to reside in a demilitarized zone (DMZ) while providing name resolution for the domain of various Internet hosts.

In order to prevent a cyber attack on a private network, end users make use of a demilitarized zone (DMZ).

A demilitarized zone (DMZ) is a cyber security technique that interacts directly with external networks, so as to enable it protect a private network.

Is IBM 1041, Minicomputer? Yes or no​

Answers

Answer:

No

Explanation:

Other Questions
find an odd natural number x such that LCM (x,40)= 1400 find the answer for 10 points I need help asap with this question The area of a circle is 81 cm ^2 What is the circumference, in centimeters? Expressyour answer in terms of . Which of the following statements supports egoism?Self-determined ethics are more successful than ethics dictated by others.Working to meet the demands of the larger society can lead to prosperity.All actions should be aimed at the greater good of society.A society is more just if it distributes rewards to everyone equally. What is a first person narrator? A. The perspective from which the story is being told B. The point through which readers view each word C. The story is told by one of the characters is in or her own words D. The narrator tells the story using he or she Pretend you are Jonas, write a letter to Fiona and Asher explaining why you felt powerless when they rode your bicycles.From The Giver The endocrine system is made up of glands that release hormones that regulate what 3 areas in the body? Which statement describes a physical benefit of practicing abstinence? Write the ratio of detective headphones to total headphones in the sample. Then write the ratio as a decimal and as a percent Find mF=.....................................................What would it equal??mF= what is it??? If the half-life of a decaying isotope is 10 years, which statement is true after10 years? Which of the following is the best example of a parent striving to use positive discipline with their child?A. A parent builds a fence around the swimming pool in the yard.B. A parent models appropriate behavior when frustrated.C. A parent tells the child they do not deserve a hug after poor behavior.D A parent reads to the child every night before bed. answer questions please l beg writting a letter to a friend telling them about teenage pregnancy A fair six-sided die is rolled 66 times. Theoretically, about how many times should a roll of "6 occur? The establishment of the British Raj created which major change in India?(Image with answer choices attached) Which crime is growing at such a significant rate that retailers should expect about a 1015 percent annual increase of occurrences?burglaryembezzlementrobberyshoplifting Ben is working in an IT services organization that uses the National Institute of Standards and Technology (NIST) functional impact categories to describe the impact of incidents. During a recent construction project, a contractor plugged a network device to the same switch twice, resulting in a network loop and taking down the organization's network for one-third of its users. Which functional impact category should Ben use to classify the event given in the scenario A function that uses the binary search algorithm to search for a value in an arraya.repeatedly divides the elements into the number of segments you specify and discards the segments that dont have the value until the value is found and a pointer to the element is returnedb.repeatedly divides the elements in half and discards the half that doesn't have the value until the value is found and a pointer to the element is returnedc.repeatedly divides the sorted elements in half and discards the half that doesn't have the value until the value is found and the index of the element is returnedd.repeatedly divides the elements into the number of segments you specify and discards the segments that dont have the value until the value is found and the index of the element is returned