Computer Systems: A Programmer's Perspective (3rd Edition)
Computer Systems: A Programmer's Perspective (3rd Edition)
3rd Edition
ISBN: 9780134092669
Author: Bryant, Randal E. Bryant, David R. O'Hallaron, David R., Randal E.; O'Hallaron, Bryant/O'hallaron
Publisher: PEARSON
Expert Solution & Answer
Book Icon
Chapter 2, Problem 2.97HW

Explanation of Solution

Function definition for “float_i2f()” function:

The implementation for “float_i2f()”function is given below:

//Header file

#include <stdio.h>

#include <assert.h>

#include <limits.h>

//Declare the float_bits in unsigned data type

typedef unsigned float_bits;

//Function declaration for float_i2f function

float_bits float_i2f(int i);

//Function definition for compute the bit length

int findBitsLength(int i)

{

  //Check bit length

  if ((i & INT_MIN) != 0)

  {

    //Returns value "32"

    return 32;

  }

  //Assign the unsigned number

  unsigned unum = (unsigned)i;

  //Initializes the length is "0"

  int len = 0;

  //Check the length

  while (unum >= (1<<len))

  {

    len++;

  }

  //Returns the length

  return len;

}

//Function definition to generate mask

unsigned findBitsMask(int bl)

{

  //Returns the bits mask

  return (unsigned) -1 >> (32-bl);

}

//Fnction definition for compute (float)i

float_bits float_i2f(int i)

{

  //Declare variable

unsigned signBit, exponentBit, fractionBit, remainingBit, exp_signBit,rp;

  //declare variable bits and float bits

  unsigned b, fb;

  //Assign bias value

  unsigned biasValue = 0x7F;

  //If "i" is "0", then

  if (i == 0)

  {

    //Assign all bits to "0"

    signBit = 0;

    exponentBit = 0;

    fractionBit = 0;

    //Returns the value

return signBit << 31 | exponentBit << 23 | fractionBit;

  }

  //If "i" is "INT_MIN", then

  if (i == INT_MIN)

  {

    //Assign given value to each bit

    signBit = 1;

    exponentBit = biasValue + 31;

    fractionBit = 0;

    //Returns the value

return signBit << 31 | exponentBit << 23 | fractionBit;

  }

  //Assign sign bit is "0"

  signBit = 0;

  /* For two's complement */

  /* If "i" is less than "0", then */

  if (i < 0)

  {

    //Assign sign bit to "1"

    signBit = 1;

    //Assign "i" to "i - i"

    i = -i;

  }

/* Compute bits length by calling function "findBitsLength" */

  b = findBitsLength(i);

  //Compute float bits

  fb = b - 1;

  //Compute exponent value

  exponentBit = biasValue + fb;

  //Compute remaining bit value

  remainingBit = i & findBitsMask(fb);

  //If "fb" is less than "23", then

  if (fb <= 23)

  {

    //Assign fraction bit and except bit value

    fractionBit = remainingBit << (23 - fb);

    exp_signBit = exponentBit << 23 | fractionBit;

  }

  //Otherwise

  else

  {

    //Compute offset value

    int offsetValue = fb - 23;

    //To find round middle value

    int rm = 1 << (offsetValue - 1);

    //For round part

    rp = remainingBit & findBitsMask(offsetValue);

    //Assign fraction bit and except bit value

    fractionBit = remainingBit >> offsetValue;

    exp_signBit = exponentBit << 23 | fractionBit;

    /*Check if it is round to even */

    if (rp < rm)

    {

    }

    //If round to odd, then

    else if (rp > rm)

    {

 ...

Blurred answer
Students have asked these similar questions
In the function malloc(), each byte of allocated space is initialized to zero. a) True b) False
HAHAAAAAAHN HNM1000 OHNM 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 30 31 32 section . data .section .text .globl _start start: pushq $4 pushq $3 call function-A addq $16, $rsp movg %rax, %rbx movq $1, rax int $0x80 .type function-A, @function function-A: pushq rbp movq rsp, rbp. subq $8, rsp mova 16 (%rbp), rbx movg 24 (rbp), rcx movg %rbx, -8(%rbp) label-A: #variable y #variable z cmpq $1, $rcx je label-B movq -8 (&rbp), rax imulg %rbx, srax movq rax, -8 (%rbp) decq rcx jmp label-A label-B: movq -8 (Srbp), rax movq rbp, rsp popq &rbp ret
F = A +B'C which one of the followings is the representation of function F in terms of SOP form? F(A,B,C)= m0+m2+m3 F(A,B,C)= M0+M2+M3 F(A,B,C) = M1+M4+M5+M6+M7 F(A,B,C) = m1+m4+m5+m6+m7

Chapter 2 Solutions

Computer Systems: A Programmer's Perspective (3rd Edition)

Ch. 2.1 - Prob. 2.11PPCh. 2.1 - Prob. 2.12PPCh. 2.1 - Prob. 2.13PPCh. 2.1 - Prob. 2.14PPCh. 2.1 - Prob. 2.15PPCh. 2.1 - Prob. 2.16PPCh. 2.2 - Prob. 2.17PPCh. 2.2 - Practice Problem 2.18 (solution page 149) In...Ch. 2.2 - Prob. 2.19PPCh. 2.2 - Prob. 2.20PPCh. 2.2 - Prob. 2.21PPCh. 2.2 - Prob. 2.22PPCh. 2.2 - Prob. 2.23PPCh. 2.2 - Prob. 2.24PPCh. 2.2 - Prob. 2.25PPCh. 2.2 - Practice Problem 2.26 (solution page 151) You are...Ch. 2.3 - Prob. 2.27PPCh. 2.3 - Prob. 2.28PPCh. 2.3 - Prob. 2.29PPCh. 2.3 - Practice Problem 2.30 (solution page 153) Write a...Ch. 2.3 - Prob. 2.31PPCh. 2.3 - Practice Problem 2.32 (solution page 153) You are...Ch. 2.3 - Prob. 2.33PPCh. 2.3 - Prob. 2.34PPCh. 2.3 - Practice Problem 2.35 (solution page 154) You are...Ch. 2.3 - Prob. 2.36PPCh. 2.3 - Practice Problem 2.37 solution page 155 You are...Ch. 2.3 - Prob. 2.38PPCh. 2.3 - Prob. 2.39PPCh. 2.3 - Practice Problem 2.40 (solution page 156) For each...Ch. 2.3 - Prob. 2.41PPCh. 2.3 - Practice Problem 2.42 (solution page 156) Write a...Ch. 2.3 - Practice Problem 2.43 (solution page 157) In the...Ch. 2.3 - Prob. 2.44PPCh. 2.4 - Prob. 2.45PPCh. 2.4 - Prob. 2.46PPCh. 2.4 - Prob. 2.47PPCh. 2.4 - Prob. 2.48PPCh. 2.4 - Prob. 2.49PPCh. 2.4 - Prob. 2.50PPCh. 2.4 - Prob. 2.51PPCh. 2.4 - Prob. 2.52PPCh. 2.4 - Practice Problem 2.53 (solution page 160) Fill in...Ch. 2.4 - Practice Problem 2.54 (solution page 160) Assume...Ch. 2 - Compile and run the sample code that uses...Ch. 2 - Try running the code for show_bytes for different...Ch. 2 - Prob. 2.57HWCh. 2 - Write a procedure is_little_endian that will...Ch. 2 - Prob. 2.59HWCh. 2 - Prob. 2.60HWCh. 2 - Prob. 2.61HWCh. 2 - Write a function int_shifts_are_arithmetic() that...Ch. 2 - Fill in code for the following C functions....Ch. 2 - Write code to implement the following function: /...Ch. 2 - Write code to implement the following function: /...Ch. 2 - Write code to implement the following function: / ...Ch. 2 - You are given the task of writing a procedure...Ch. 2 - Prob. 2.68HWCh. 2 - Write code for a function with the following...Ch. 2 - Write code for the function with the following...Ch. 2 - You just started working for a company that is...Ch. 2 - You are given the task of writing a function that...Ch. 2 - Write code for a function with the following...Ch. 2 - Write a function with the following prototype: /...Ch. 2 - Prob. 2.75HWCh. 2 - The library function calloc has the following...Ch. 2 - Prob. 2.77HWCh. 2 - Write code for a function with the following...Ch. 2 - Prob. 2.79HWCh. 2 - Write code for a function threefourths that, for...Ch. 2 - Prob. 2.81HWCh. 2 - Prob. 2.82HWCh. 2 - Prob. 2.83HWCh. 2 - Prob. 2.84HWCh. 2 - Prob. 2.85HWCh. 2 - Intel-compatible processors also support an...Ch. 2 - Prob. 2.87HWCh. 2 - Prob. 2.88HWCh. 2 - We are running programs on a machine where values...Ch. 2 - You have been assigned the task of writing a C...Ch. 2 - Prob. 2.91HWCh. 2 - Prob. 2.92HWCh. 2 - following the bit-level floating-point coding...Ch. 2 - Following the bit-level floating-point coding...Ch. 2 - Following the bit-level floating-point coding...Ch. 2 - Following the bit-level floating-point coding...Ch. 2 - Prob. 2.97HW
Knowledge Booster
Background pattern image
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Text book image
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Text book image
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
Text book image
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Text book image
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education