Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

I can only use integers constants 0 through 255 (0xFF), inclusive. You are not allowed to use big constants such as 0xffffffff, no global variables,unary

I can only use integers constants 0 through 255 (0xFF), inclusive. You are not allowed to use big constants such as 0xffffffff, no global variables,unary integer operations ! ~, binary integer operations & ^ | + << >>. I can not use any control constructs such as if, do, while, for, switch, etc. Or define or use any macros or define any additional functions in the file or call any functions or use any other operations, such as &&, ||, -, or ?. Nor any form of casting or any data type other than int. This implies that you cannot use arrays, structs, or unions. The machine uses 2s complement, 32-bit representations of integers, performs right shifts arithmetically, and has unpredictable behavior when shifting if the shift amount is less than 0 or greater than 31. Floating point coding rules: You are allowed to use looping and conditional control and both ints and unsigneds. As well as arbitrary integer and unsigned constants. You can use any arithmetic logical, or comparison operations on int or unsigned data. You are forbidden to define or use any macros, define additional functions in the file, call any functions, use any form of casting, use any data type other than int or unsigned. This means that you cannot use arrays, structs, or unions. Or use any floating point data types, operations, or constants. Example of acceptable coding style: /* * pow2plus1 - returns 2^x + 1, where 0 <= x <= 31 */ int pow2plus1(int x){ .* exploit ability of shifts to compute powers of 2 */ return ( 1 << x) +1; } The question from my assignment is "return bit-level equivalent of expression (int) f for floating point argument f. Argument is passed as unsigned int, but it is to be interpreted as the bit-level representation of a single-precision floating point value. Anything out of range ( including NaN and infinity) should return 0x80000000u. The operations I can use are any integer/unsigned operations including ||, && and if, while. The maximum operations I can use is 16. function outline: int function_name(unsigned uf){ return 2; }

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Intranet And Web Databases For Dummies

Authors: Paul Litwin

1st Edition

0764502212, 9780764502217

More Books

Students also viewed these Databases questions