Fill in code for the following C functions. Function srl performs a logical right shift using an arithmetic right shift (given by value xsra), followed by other operations not including right shifts or division. Function sra performs an arithmetic right shift using a logical right shift (given by value xsr1), followed by other operations not including right shifts or division. You may use the computation 8*sizeof (int) to determine w, the number of bits in data type int. The shift amount k can range from 0 to w – 1.'
unsigned srl(unsigned x, int k) {
/* Perform, shift arithmetically */
unsigned xsra = (int) x >> k;
.
.
.
.
.
.
}
int sra(int x, int k) {
/* Perform shift logically */
int xsrl = (unsigned) x >>k;
.
.
.
.
.
.
}
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 Java: From Control Structures through Data Structures (4th Edition) (What's New in Computer Science)
Computer Science: An Overview (12th Edition)
Starting Out with Java: From Control Structures through Objects (7th Edition) (What's New in Computer Science)
Web Development and Design Foundations with HTML5 (9th Edition) (What's New in Computer Science)
Modern Database Management
Starting Out with Programming Logic and Design (5th Edition) (What's New in Computer Science)
- (Numerical) a. The following is an extremely useful programming algorithm for rounding a real number to n decimal places: Step 1: Multiply the number by 10n Step 2: Add 0.5 Step 3: Delete the fractional part of the result Step 4: Divide by 10n For example, using this algorithm to round the number 78.374625 to three decimal places yields: Step1:78.374625103=78374.625 Step2:78374.625+0.5=78375.125 Step3:Retainingtheintegerpart=78375Step4:78375dividedby103=78.375 Using this algorithm, write a C++ function that accepts a user-entered value and returns the result rounded to two decimal places. b. Enter, compile, and run the program written for Exercise 11a.arrow_forward(Numerical) Write a program that tests the effectiveness of the rand() library function. Start by initializing 10 counters to 0, and then generate a large number of pseudorandom integers between 0 and 9. Each time a 0 occurs, increment the variable you have designated as the zero counter; when a 1 occurs, increment the counter variable that’s keeping count of the 1s that occur; and so on. Finally, display the number of 0s, 1s, 2s, and so on that occurred and the percentage of the time they occurred.arrow_forwardLanguage: C Write the definition of the function bool odd (unsigned char data); which checks is the value passed to the function is odd or not by returning true or false, respec- tively. The function has to use bitwise operators and is not allowed to use arithmetic operators.arrow_forward
- Q2} Write a user-define function that add or subtracts two polynomials of any order. Use the function to add and subtract the following f₁(x)=x5-7x4+11x³-4x²-5x-2 and f₂(x)=9x²-10x+6 polynomials:arrow_forwardWrite and test the “digit” function: Function Prototype: int digit(int n,int k)This function returns the kth digit of the positive integer n. For example, if n is the integer 29,415 that is entered by user , then the call digit(n,0) would return the digit 2, and the call digit(n,2) would returnthe digit 4. do this only by using functions and loops. arrays are not allowed. example :Input: n = 29415 , k = 1 output: 9 Input: n = 2 , k = 1 output: index out of bound (return -1)arrow_forwardWhere is the void function for circumferencearrow_forward
- Given an integer, , print the following values for each integer from to : Decimal Octal Hexadecimal (capitalized) Binary Function Description Complete the print_formatted function in the editor below. print_formatted has the following parameters: int number: the maximum value to print Prints The four values must be printed on a single line in the order specified above for each from to . Each value should be space-padded to match the width of the binary value of and the values should be separated by a single space. Input Format A single integer denoting . Constraints Sample Input 17 Sample Output 1 1 1 1 2 2 2 10 3 3 3 11 4 4 4 100 5 5 5 101 6 6 6 110 7 7 7 111 8 10 8 1000 9 11 9 1001 10 12 A 1010 11 13 B 1011 12 14 C 1100 13 15 D 1101 14 16 E 1110 15 17 F 1111 16 20 10 10000 17 21 11 10001arrow_forward# TODO: write the function signature for the following function header: """ multiply_accumulate(a, x, b) returns a * x + b TODO: replace this TODO with examples of multiply_accumulate() :param a: coefficient a above :param x: some float number :param b: coefficient b above :returns: result of the operations above """ left_operand = a * x result = left_operand + b return resultarrow_forwardComplete the function that calculates the sum of the first n+1 terms of the geometric series a, ar, ar² ar³, ar4 . note that the series begins with a and the last term is ar", in total there are n+1 terms. ar" ... [ ]: # complete the function given the variables a,r,n and return the value as series_sum. def sum_geometric_series(a,r,n): # your code here return series_sumarrow_forward
- Mdt ɔɔ 9Create the matrix (M) below using as little code as possible. You should use multiple built-in functions. M= 6.0000 19.5000 33.0000 6.0000 19.5000 33.0000 9.0000 9.0000 9.0000 9.0000 9.0000 9.0000 5.0000 -1.0000 -7.0000 5.0000 -1.0000 -7.0000 6.0000 19.5000 33.0000 6.0000 19.5000 33.0000 9.0000 9.0000 9.0000 9.0000 9.0000 9.0000 5.0000 -1.0000 -7.0000 5.0000 -1.0000 -7.0000 Now within the script use MATLAB commands to make the following changes to the matrix. Include comments in your script to separate the parts. a. Change the four numbers in the center of matrix M to one. b. Divide the bottom half of the matrix by 4. c. Multiply the top half of the matrix by 4. d. Delete the last column of the matrix. e. Create a new matrix C from first, third, and fifth column of the second and fourth rows of M. f. Sort each column of C in descending order. Calculate the following equation: 45 C* + C D=-arrow_forward#5.Incorrect gurantee downvote. Euler's totient function, also known as phi-function ϕ(n),counts the number of integers between 1 and n inclusive,which are coprime to n.(Two numbers are coprime if their greatest common divisor (GCD) equals 1)."""def euler_totient(n): """Euler's totient function or Phi function. Time Complexity: O(sqrt(n)).""" result = n for i in range(2, int(n ** 0.5) + 1): if n % i == 0: while n % i == 0: n //= i.arrow_forwardCreate a function that returns the mean of all digits Example: mean(1346) → 3.5 WRITE IN PYTHON PLEASEarrow_forward
- C++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage LearningC++ for Engineers and ScientistsComputer ScienceISBN:9781133187844Author:Bronson, Gary J.Publisher:Course Technology Ptr