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
bartleby

Videos

Textbook Question
Book Icon
Chapter 2, Problem 2.55HW

Compile and run the sample code that uses show_bytes (file show-bytes. c) on different machines to which you have access. Determine the byte orderings used by these machines.

Expert Solution & Answer
Check Mark
Program Plan Intro

Byte ordering:

  • Some machines decide to store the objects in memory ordered from least significant byte to most, while other machines store them from most to least.
  • The byte ordering are made by the two ways:
    • Little Endian
      • In little Endian, the least significant byte comes first.
    • Big Endian
      • In big Endian, the most significant byte comes first.

Example:

The example for find the little-endian and big-endian for hexadecimal value is shown below:

Here assume that the hexadecimal value is “0x13244860”. Then address range for given ordering byte is “0x200” through “0x203”.

Big Endian for given hexadecimal value is

0x2000x2010x2020x203
13244860

Little Endian for given hexadecimal value is

0x2000x2010x2020x203
60482413

Explanation of Solution

Corresponding code from given question:

#include <stdio.h>

//Define variable "byte_pointer" in char datatype.

typedef unsigned char* byte_pointer;

//Function definition for show_bytes.

void show_bytes(byte_pointer start, size_t len)

{

//Declare variable "i" in int data type.

int i;

/* "For" loop to determine byte representation in hexadecimal */

for (i = 0; i < len; i++)

//Display each bytes in "2" digits hexadecimal value.

printf(" %.2x", start[i]);

printf("\n");

}

//Function to determine byte for "int" number.

void show_int(int x)

{

//Call show_bytes function with integer value.

show_bytes((byte_pointer) &x, sizeof(int));

}

//Function to determine byte for "float" number.

void show_float(float x)

{

//Call show_bytes function float value.

show_bytes((byte_pointer) &x, sizeof(float));

}

//Function to determine byte for "pointer" number.

void show_pointer(void *x)

{

//Call show_bytes function with pointer value.

show_bytes((byte_pointer) &x, sizeof(void *));

}

//Test all show bytes.

void test_show_bytes(int val)

{

//Define variables.

int ival = val;

float fval = (float) ival;

int *pval = &ival;

//Call function.

show_int(ival);

show_float(fval);

show_pointer(pval);

}

//Main function.

int main(int argc, char* argv[])

{

//Define the sample number.

int sampleNumber = 682402;

//Call test_show_bytes function.

test_show_bytes(sampleNumber);

return 0;

}

The given program is used to display the byte representation of different program objects by using the casting.

  • Define “byte_pointer” using “typedef”.
    • It is used to define data type as a pointer to an object of type “unsigned char”.
  • The function “show_bytes” is used to display the address of a byte sequence by using the argument that is byte pointer and a byte count.
    • Each byte is displayed by “2” digit.
  • The function “show_int” is to display the byte representations of object of “int” data type.
  • The function “show_float” is to display the byte representations of object of “float” data type.
  • The function “show_pointer” is to display the byte representations of object of “void *” data type.
  • Test all the data type values by using function “test_show_bytes”.
  • Finally, assign the sample number in main function and call the “test_show_bytes” with argument “sampleNumber”.

Byte ordering used by the given machines:

After compiling and running the above code, the following output will be appear

a2 69 0a 00

20 9a 26 49

3c cc e9 18 ff 7f 00 00

From the above output,

  • The byte representation for “int” data type is “a2 69 0a 00”.
  • The byte representation for “float” data type is “20 9a 26 49”.
  • The byte representation for “int *”data type is “3c cc e9 18 ff 7f 00 00”.

The byte ordering used by these machines is “big-endian”.

  • Reason:
    • Consider, the byte representation of “int” value is “a2 69 0a 00”.
    • From this, the value is ordered from most significant byte to least significant byte. Hence, it is referred as big-endian.

Want to see more full solutions like this?

Subscribe now to access step-by-step solutions to millions of textbook problems written by subject matter experts!
Students have asked these similar questions
A company database needs to store information about employees (identified by SIN, with salary and phone as attributes), departments (identified by DID, with dname and budget as attributes), and children of employees (with name and age as attributes). Employees work in departments; each department is managed by an employee; a child must be identified uniquely by name when the parent (who is an employee; assume that only one parent works for the company) is known. We are not interested in information about a child once the parent leaves the company. Draw an ER diagram using Crows Foot notation that captures this information. Important: Must submit both ER Diagram and Relational Schema images in your solution here.
Given the dependency diagram of attributes C1,C2,C3,C4,C5 in a table shown in the following figure, the primary key attributes are underlined.   Make a database with multiple tables from attributes as shown above that are in 3NF, showing PK, non-key attributes, and FK for each table? Assume the tables are already in 1NF. Hint: 3 tables will result after deducing 1NF -> 2NF -> 3NF]
1. Using one of the method described in class and/or textbook (Section 9.1) convert the following regular expression into a state transition diagram: (0+ 10*1)* (01 + 10) Indicate in your answer how did you arrive at the result as follows: Write down all the state transition diagrams that you constructed for all the subexpressions and clearly indicate which diagram corresponds to which expression. Do not simplify any state transition diagram. 2. Consider the following state transition diagram over Σ = {a,b}: b A a a C b B a a b D За a Using the method described in class and in the textbook (Section 9.2) convert the diagram into an equivalent regular expression. Include all the intermediate steps in your answer. 3. Are the languages L1, L2, and L3 below over the alphabet Σ = {a, b, c} regular or non-regular? Justify your answer carefully. (a) L₁ = {a¹b2jc²i : i ≥ 0, j > 2} (b) L₂ = L₁n {akbm c³p: k,m,p≥ 0} (c) L3 = {a²ib²j+1 : i,j ≥ 0}^{akbm c³p : k,m,p ≥ 0}

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

Additional Engineering Textbook Solutions

Find more solutions based on key concepts
In Exercises 49 through 54, find the value of the given function. Math.Round(2.6)

Introduction To Programming Using Visual Basic (11th Edition)

Why does the cutting force Fc increase with increased feed or DOC?

Degarmo's Materials And Processes In Manufacturing

Simplify the following program segment while (X != 5): X = 5

Computer Science: An Overview (13th Edition) (What's New in Computer Science)

What is an object? What is a control?

Starting Out With Visual Basic (8th Edition)

Knowledge Booster
Background pattern image
Computer Science
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
Systems Architecture
Computer Science
ISBN:9781305080195
Author:Stephen D. Burd
Publisher:Cengage Learning
Text book image
C++ for Engineers and Scientists
Computer Science
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Course Technology Ptr
Text book image
EBK JAVA PROGRAMMING
Computer Science
ISBN:9781337671385
Author:FARRELL
Publisher:CENGAGE LEARNING - CONSIGNMENT
Text book image
COMPREHENSIVE MICROSOFT OFFICE 365 EXCE
Computer Science
ISBN:9780357392676
Author:FREUND, Steven
Publisher:CENGAGE L
Text book image
New Perspectives on HTML5, CSS3, and JavaScript
Computer Science
ISBN:9781305503922
Author:Patrick M. Carey
Publisher:Cengage Learning
Text book image
Programming Logic & Design Comprehensive
Computer Science
ISBN:9781337669405
Author:FARRELL
Publisher:Cengage
What Are Data Types?; Author: Jabrils;https://www.youtube.com/watch?v=A37-3lflh8I;License: Standard YouTube License, CC-BY
Data Types; Author: CS50;https://www.youtube.com/watch?v=Fc9htmvVZ9U;License: Standard Youtube License