Practice Problem 2.43 (solution page 157)
In the following code, we have omitted the definitions of constants M and N:
#define M /* Mystery number 1 */
#define N /* Mystery number 2 */
int arith(int x, int y) {
int result = 0;
result = x*M + y/N; /* M and N are mystery numbers. */
return result;
}
We compiled this code for particular values of M and N. The compiler optimized the multiplication and division using the methods we have discussed. The following is a translation of the generated machine code back into C:
/* Translation of assembly code for axith */
int optarith(int x, int y) {
int t = x;
x <<= 5;
x -= t;
if (y < 0) y + = 7;
y >> 3; /* Arithmetic shift */
return x+y;
}
What are the values of M and N?
Want to see the full answer?
Check out a sample textbook solutionChapter 2 Solutions
Computer Systems: A Programmer's Perspective (3rd Edition)
Additional Engineering Textbook Solutions
Starting Out With Visual Basic (7th Edition)
C How to Program (8th Edition)
Digital Fundamentals (11th Edition)
Starting Out with C++ from Control Structures to Objects (8th Edition)
Starting Out with Java: From Control Structures through Objects (7th Edition) (What's New in Computer Science)
- Example 7: Code the below problem using C++ Sample Input: 1. 4 1234 Sample Output: 16 Ayush has an array a of n integers. He wants to collapse the entire array into a single element. To do this, he can perform the operation described below any number of times. Each operation grants some points, and Ayush's total score will be the sum of the points granted over all operations he performs. Let aſi..j] denote the subarray of a starting at index i and ending at j. Define min; j to be the minimum value in a[i..j]. In one operation he can do the following: • Select any subarray a[i. j] of a of size at least 2 and replace this subarray by a single element equal to the sum of elements of the subarray. The number of points granted by such an operation, which will be added to his total score, is (j – i+1) · min;j. For example, consider an array a = [2, 3, 5]. If he selects the subarray a[1..2], his total score increases by 2 · 2 = 4 points. Now a = [5, 5]. Ayush performs operations until only a…arrow_forward(Exhaustive Search: The Assignment Problem) Complete the application of exhaustive search to The following assignment: [9 2 7 8] 64 37 5818 769 4 C = 1, 2, 3, 4 1, 2, 4, 3 1, 3, 2, 4 1, 3, 4, 2 1, 4, 2, 3 1, 4, 3, 2 Complete the remaining cases: Answer: cost = 9+4+1+4 = 18 cost = 9+4+8+9 = 30 cost = 9+3+8+4 = 24 cost = 9+3+8+6 = 26 cost = 9+7+8+9 = 33 cost = 9+7+1+6 = 23arrow_forwardPlease write a C++ coding with modularity using functions. 15. (Numerical) a. Euclid’s method for finding the greatest common divisor (GCD) of two positive integers consists of the following steps:Step 1: Divide the larger number by the smaller and retain the remainder.Step 2: Divide the smaller number by the remainder, again retaining the remainder.Step 3: Continue dividing the previous remainder by the current remainder until the remainder is zero, at which point the last non-zero remainder is the GCD. For example, if the two positive integers are 84 and 49, you have the following: Step 1: 84/49 yields a remainder of 35.Step 2: 49/35 yields a remainder of 14.Step 3: 35/14 yields a remainder of 7.Step 3: 14/7 yields a remainder of 0. Therefore, the last non-zero remainder, which is 7, is the GCD of 84 and 49.Using Euclid’s algorithm, replace the stub function written for Exercise 14 with an actual function that determines and returns the GCD of its two integer arguments. thank you…arrow_forward
- The programming language: C++ The union of two ordered lists (Sequential linear list)[the solution introduction: The first video of in 3.1, 35:00-43:00] [Problem description] Give the union of two ordered lists. The maximal number of elements in an inputted set is 30. [Basic requirements] 1) Use sequential linear list. 2) The result list should also be ordered. [Example] Problem: Give the union of the ordered lists (3,4,9,100,103) and (7,9,43,53,102,105). What you need to show in the terminal(the back part is outputted by you and the blue part is inputted by the user, i.e., teacher): Please input the first ordered list: (3,4,9,100,103)Please input the second ordered list: (7,9,43,53,102,105) The union is: (3,4,7,9,9,43,53,100,102,103,105)arrow_forwardA) Shanon Code B) Shanon-Fano Code for the following Set of massages: [P(X)] =x*.s*04 02 021 X 2 хз х 4 X5 0.05 0.15 0.4 0.2 0.2 Find the code efficiency ?arrow_forward(Asymptotic Notations and Basic Efficiency Classes) 3. Indicate whether the first function of each of the following has a smaller, same, or larger order of growth (to within a constant multiple) than the second function. a) n(n+1) and 2000n² b) nlogn and log n²arrow_forward
- c++ (solve with the function) An array with numbers is given. Arrange the numbers in this order: Max, min, 2max, 2min, 3max, 3min … Example: 6 5 3 1 4 2 6 Output: 6 1 5 2 4 3arrow_forward1. (Assembly Language Programming) Write a procedure gcd for finding the greatest common divisor (GCD) of two positive integers x and y, which is described in the C code below. int gcd (int x, int y) { if (y 0) == return x; else return gcd (y, x % y); } Assume that x and y are passed to procedure gcd via X4 and X5 and the result is returned in X2. Note that x % y is the remainder of x / y.arrow_forward(x² If h(x) X 2 , then 2arrow_forward
- (Python) Numerous engineering and scientific applications require finding solutions to a set of equations. Ex: 8x + 7y = 38 and 3x - 5y = -1 have a solution x = 3, y = 2. Given integer coefficients of two linear equations with variables x and y, use brute force to find an integer solution for x and y in the range -10 to 10. Ex: If the input is: 8 7 38 3 -5 -1 Then the output is: x = 3 , y = 2 Use this brute force approach: For every value of x from -10 to 10 For every value of y from -10 to 10 Check if the current x and y satisfy both equations. If so, output the solution, and finish. Ex: If no solution is found, output: "There is no solution" You can assume the two equations have no more than one solution. ''' Read in first equation, ax + by = c '''a = int(input())b = int(input())c = int(input()) ''' Read in second equation, dx + ey = f '''d = int(input())e = int(input())f = int(input())arrow_forward(C++) I need a quicksort algorithm implementation which returns the indices of the sorted array in an array without modifying the array itself:ie,Before sortingindex : 0 1 2 3 4 5values: 70 60 40 20 30 50After sortingindex : 3 4 2 5 1 0values: 70 60 40 20 30 50 function returns an array with indexes: [3 4 2 5 1 0]arrow_forwardI i. In. * M & 4 9:Y Q1/(7 Marks) /For the circuit shown below, :(select the write answer) 1.2 Ω ww 20 A 80 120 62 (2) ibäi The total resistance (equivalent) can :be found as [{[(12//8)+1.2]+[4+(6//3)]}+1]//2 O K[(12//8)+1.2]//[4+(6//3)]}+1]//2 O K[(12//8)+(1.2//4)+(6//3)]+1}//2] O K[[(12//8)+(1.2+4)+(6//3)]//1}//2] O نقطة واحدة :The total resistance value is 2.40 2.3 Q. 1.3 Q 1.5 Q II ww ww wwarrow_forward
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education